JeuWeb - Crée ton jeu par navigateur
[Réglé] Petit problème de REGEX - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Réglé] Petit problème de REGEX (/showthread.php?tid=1632)



[Réglé] Petit problème de REGEX - Prizor - 24-08-2007

Bonsoir !

Pour isoler l'erreur et vous la transmettre j'ai raccourci le code au minimum, voici ce que ça donne :

Code PHP :
<?php
$contenu
= 'Voici un [a=http://www.google.fr]lien[/a] en bbcode'
$contenu = preg_replace('#\[a(http://[a-z0-9._/-]+)\](.+)\[/a\]#isU', '<a href="$1">$2</b>', $contenu);
echo
$contenu;
?>

Voilà, je pense que c'est très compréhensible, j'ai mis des regex pour notamment afficher un lien en bbcode.

Le résultat renvoyé est le suivant :
Citation :Voici un [a=http://www.google.fr]lien[/a] en BBcode.

Je pense que quelqu'un d'un peu plus expérimenté que moi (c'est à dire presque tout le monde) pourra trouver l'erreur sans problème.

Merci d'avance !:respect:


RE: Petit problème de REGEX - uriak - 24-08-2007

hello, voici la solution Wink

Code PHP :
<?php
$contenu
= 'Voici un [a=http://www.google.fr]lien[/a] en bbcode'
$contenu = preg_replace('#\[a=(http://[a-z0-9._/-]+)\](.+)\[/a\]#isU', '<a href="$1">$2</a>', $contenu);
echo
$contenu;
?>

il manquait le "=" entre "a" et "http" et il faut remplacer le </b> par </a>


RE: Petit problème de REGEX - nemesis_elite - 24-08-2007

Salut, je crois que tu as oublié le = dans ton preg_replace.
Code PHP :
<?php 
$contenu
= preg_replace('#\[a\=(http://[a-z0-9._/-]+)\](.+)\[/a\]#isU', '<a href="$1">$2</a>', $contenu);
si jamais ca marche pas, voici mon système de bbcode:
Code PHP :
<?php 
$contenu
= preg_replace('#\[url\=(.*?)\](.*?)\[\/url\]#is', '<a href="$1">$2</a>', $contenu);

A ++

[Edit] Grillé (-_-')


RE: Petit problème de REGEX - uriak - 24-08-2007

^^ au passage j'ai découvert à quoi servaient les options isU Big Grin Va falloir que j'attaque enfin mon code, un de ces jours.


RE: Petit problème de REGEX - Prizor - 24-08-2007

Merci, ça marche nickel. ^^

Résolu


RE: Petit problème de REGEX - denisc - 24-08-2007

uriak a écrit :^^ au passage j'ai découvert à quoi servaient les options isU Big Grin Va falloir que j'attaque enfin mon code, un de ces jours.

Et à quoi ça sert???


RE: [Réglé] Petit problème de REGEX - uriak - 24-08-2007

i : à accepter les majuscule comme les minuscules pour le bbcode
s : le . correspond à tous caractères, y compris le retour à la ligne \n
U : l'expression s'arrète à la première séquence complète rencontrée (donc le premier couple [a=http... ]...[/a] ) ce qui permet de traiter un string comportant plusieurs couples de suite.


RE: [Réglé] Petit problème de REGEX - Prizor - 25-08-2007

Euh... C'était pas vraiment un mystère mais c'est ça. ^^"