Regex
maxeem
-
maxeem -
maxeem -
Bonjour, j'aimerai extraire "quelquechose" d'une variable comme celle ci
$test = [b]quelquechose[/b];
il y a moyen avec les regex (expressions regulières)
mais je ne sais pas m'en servir.... merci
$test = [b]quelquechose[/b];
il y a moyen avec les regex (expressions regulières)
mais je ne sais pas m'en servir.... merci
11 réponses
-
Salut,
Avec quel langage ?
Les balises "[b]" et "[/b]" font parties de la variable ou c'est toi qui essayais de mettre l'expression "quelquechose" en gras ? -
Avec une expression régulière étendue cela donnerait quelque chose du type :
\[.+\](.+)\[/.+\]
..et reconnaîtrait la plupart des balises phpBB
Bien sûr il faut adapter l'expression régulière à ton langage, notamment pour ce qui est des caractères spéciaux !
GrdScarabe -
(language = php)
et je vfais comment pour récuperer ce qu'il y a dedans ces balises avec ces expessions régulieres?? svp -
'lut,
Tu veux enlever les balises donc?
Il te faut un preg_replace (http://de2.php.net/manual/en/function.preg-replace.php) avec comme paramètres:
preg_replace((\[.+\])(.+?)([/.+\]),${2},$texteoriginal)
Un truc dans le genre je pense...essaye aussi avec .+ a la place de .+?, je connais pas le comportement par défaut dans php...
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Il y a ce site très intéressant dédié aux expresion régulière.
http://www.expreg.com/
l'exemple suivant est proche du tiens : http://www.expreg.com/voir38
ton besion doit être proche de ceci (non testé) :
"^\[b](.*?)[\[/b]$" -
-
en fait je n'y arrive pas
preg_replace((\[.+\])(.+?)([/.+\]),${2},$texteoriginal)
me renvoi une erreur du type ASCII machin :( -
-
Ton texte il est comment au départ? Genre:
Ceci est [b]mon[/b] texte à [b]moi[/b] que [b]j'ai[/b].
ou bien
[b]C'est mon texte[/b]
ou bien encore
c'est [b]mon[/b] texte
? -
non mais j'ai réglé ça ... le blem maintenant c'est d'extraire "xxx" et "yyy" de :
$string = "blabla[email]xxx[/email]blabla[email]yyy[/email]blabla
:( -
bon voila j'ai enfin réussi
je usis passé par des explode str_replace et split a gogo
mon code fait 30 lignes pour extraire mais bon ça marche :d et rapide a l'execution merci a tous