Reg exp : je sux

46 réponses
AuteurMessage

krucial |
Administrateur

Photo de krucial

Inscrit le : 09/03/2005

# Le 20/11/2008 à 17:23

Salut

Qqu peut m'aider la dessus : créer une reg exp pour detecter une balise BB [url=...] ou ... n'est pas 'http'. J'y arrive pas, ca me saoule !

Merci pour l'aide !

JC - Mes sitesOuvrir dans une nouvelle fenetre | Affiliation devis travauxOuvrir dans une nouvelle fenetre | Cotes voitures anciennesOuvrir dans une nouvelle fenetre

dbonin | David
Membre

Photo de dbonin

Inscrit le : 06/07/2006

# Le 20/11/2008 à 17:27

Ca me rappelle quelque chose...

Un rapport avec ceci ?
http://www.webworkerclub.com/forum/topic,69206,0.h...Ouvrir dans une nouvelle fenetre

Évolution WebOuvrir dans une nouvelle fenetre | RedirectionOuvrir dans une nouvelle fenetre | PageRankOuvrir dans une nouvelle fenetre

MathieuC | Mathieu
Modérateur

Photo de MathieuC

Inscrit le : 15/07/2005

# Le 20/11/2008 à 17:51

ta regexp doit etre du style "[url=http(.*)]"

Tu peux faire ca : "[url=(http|ftp|...)(.*)]"

Apres comme d'hab avec les expressions regulieres, faut tatonner un peu pour etre sur de ce qu'on fait

tonguide | Jeremy
Modérateur

 

Inscrit le : 09/05/2005

# Le 20/11/2008 à 17:57

théoriquement "n'est pas" c'est le signe "^"

Donc un truc du genre

`\[u*l=([^h*p://].+?)](.+?)\[/url]`si

le forum de WWC interprete, donc j'ai mis un u*l au lieu de url et h*p au lieu de http

Fred | Frédéric
Modérateur

Photo de Fred

Inscrit le : 09/05/2005

# Le 20/11/2008 à 19:50

Pour ce genre de trucs faut regarder les lookahead (je ne me souviens plus du terme en français)
Regarde ici :
http://www.perl.com/doc/manual/html/pod/perlre.htm...Ouvrir dans une nouvelle fenetre
http://www.amk.ca/python/howto/regex/regex.html#SE...Ouvrir dans une nouvelle fenetre
http://www.regular-expressions.info/lookaround.htm...Ouvrir dans une nouvelle fenetre


A priori ce serait celui-là : (?!pattern)

"Le bois ne rend pas les coups"

cerise | Gaël
Modérateur

Photo de cerise

Inscrit le : 31/10/2008

# Le 20/11/2008 à 20:46

EWR a dit :
Ca me rappelle quelque chose...

Un rapport avec ceci ?
http://www.webworkerclub.com/forum/topic,69206,0.h...Ouvrir dans une nouvelle fenetre


et tu as as trouvé la solution depuis ?

krucial | Jean Christophe
Administrateur

Photo de krucial

Inscrit le : 09/03/2005

# Le 20/11/2008 à 21:54

Marche pas. C'est ouf.

JC - Mes sitesOuvrir dans une nouvelle fenetre | Affiliation devis travauxOuvrir dans une nouvelle fenetre | Cotes voitures anciennesOuvrir dans une nouvelle fenetre

dbonin | David
Membre

Photo de dbonin

Inscrit le : 06/07/2006

# Le 20/11/2008 à 21:54

cerise a dit :
EWR a dit :
Ca me rappelle quelque chose...

Un rapport avec ceci ?
http://www.webworkerclub.com/forum/topic,69206,0.h...Ouvrir dans une nouvelle fenetre


et tu as as trouvé la solution depuis ?


Non.

Évolution WebOuvrir dans une nouvelle fenetre | RedirectionOuvrir dans une nouvelle fenetre | PageRankOuvrir dans une nouvelle fenetre

Rano | Jean
Modérateur

Photo de Rano

Inscrit le : 13/04/2005

# Le 20/11/2008 à 22:38

et si tu vérifies juste la valeur de l'url en PHP ?

Chambres d'hote tavelOuvrir dans une nouvelle fenetre
Séjours en provenceOuvrir dans une nouvelle fenetre
Forum mariageOuvrir dans une nouvelle fenetre

Fred | Frédéric
Modérateur

Photo de Fred

Inscrit le : 09/05/2005

# Le 20/11/2008 à 22:42

krucial a dit :
Marche pas. C'est ouf.


Pourtant, si.

Exemple (teste sur http://www.annuaire-info.com/outil-referencement/e...Ouvrir dans une nouvelle fenetre pour gagner du temps)

Pattern : \[url=(?!http)[^]]+\]
Chaine test 1 : [url=www.test.com] <-- donne vrai
Chaine test 2 : [url=http://www.test.com] <--- donne faux

Bon après y'a ptet des spécificités à ton problème qui font que ça foire, mais techniquement c'est quelque chose comme ça.

"Le bois ne rend pas les coups"

Fred | Frédéric
Modérateur

Photo de Fred

Inscrit le : 09/05/2005

# Le 20/11/2008 à 22:51

Ah, petite précision, le (?!) c'est une parenthèse non-capturante, forcément

"Le bois ne rend pas les coups"

Fred | Frédéric
Modérateur

Photo de Fred

Inscrit le : 09/05/2005

# Le 21/11/2008 à 15:39

Tu t'en sors ?

"Le bois ne rend pas les coups"

krucial | Jean Christophe
Administrateur

Photo de krucial

Inscrit le : 09/03/2005

# Le 21/11/2008 à 16:08

J'ai mis de coté. Je regarde ca lundi ou ce soir. En tout cas, je te remercie, toi et les autres pour votre aide.

JC - Mes sitesOuvrir dans une nouvelle fenetre | Affiliation devis travauxOuvrir dans une nouvelle fenetre | Cotes voitures anciennesOuvrir dans une nouvelle fenetre

MathieuC | Mathieu
Modérateur

Photo de MathieuC

Inscrit le : 15/07/2005

# Le 21/11/2008 à 16:18

On pourra t'aider plus si tu donne ta regexp de base que tu veux enrichir et des exemples de contenu sur lesquels tu veux que ca s'applique.

La c'est quand meme un peu flou, y'a pas de raison que "ca marche pas", sauf si ce que tu cherches a faire ne correspond pas a ce qu'on te fait faire

Fred | Frédéric
Modérateur

Photo de Fred

Inscrit le : 09/05/2005

# Le 21/11/2008 à 16:39

Et puis change de pull un peu.

"Le bois ne rend pas les coups"

krucial | Jean Christophe
Administrateur

Photo de krucial

Inscrit le : 09/03/2005

# Le 21/11/2008 à 18:23

It works !

JC - Mes sitesOuvrir dans une nouvelle fenetre | Affiliation devis travauxOuvrir dans une nouvelle fenetre | Cotes voitures anciennesOuvrir dans une nouvelle fenetre

Fred | Frédéric
Modérateur

Photo de Fred

Inscrit le : 09/05/2005

# Le 21/11/2008 à 19:30

"Le bois ne rend pas les coups"

MathieuC | Mathieu
Modérateur

Photo de MathieuC

Inscrit le : 15/07/2005

# Le 22/11/2008 à 02:24

Le flou a disparu !

Congratulations !

ddpetit | Damien
Modérateur

Photo de ddpetit

Inscrit le : 03/05/2006

# Le 22/11/2008 à 18:07

Je me permets de relancer ce topic, j'ai un souci actuellement pour l'enregistrement de certaines données sur mon site. Certaines personnes placent dans leur logiciel des "." entre chaque mot de modèle. Exemple :

Gd.Espace.III.ABS Evo 2.2 dCi115 Expression
. Le problème est que j'aimerais enlever ces points sauf s'il de quelque chose du genre "x.x". En gros j'aimerais arriver à
Gd Espace III ABS Evo 2.2 dCi115 Expression
.

Voici ma requête :
$string = preg_replace('#([a-z0-9]{2,})\.([a-z0-9]{2,})#i', '$1 $2', $preg);


Résultat généré :
Gd Espace.III ABS Evo 2.2 dCi115 Expression


Il doit me manquer un tout petit quelque chose ...

Loccasion.com - Vente de voitures d'occasionOuvrir dans une nouvelle fenetre - Mandataire AutoOuvrir dans une nouvelle fenetre

tonguide | Jeremy
Modérateur

 

Inscrit le : 09/05/2005

# Le 22/11/2008 à 18:41

[a-z0-9] remplace par [a-zA-Z0-9]

Répondre

Vous ne pouvez pas participer au forum, car votre inscription n'a pas été validée. Pour vous faire valider en tant que Membre, cliquez ici.

© MHN - Tous droits réservés | CNIL N°844440 | 26/04/2024 7:03:18 | Généré en 28.11ms | Contacts | Mentions légales |