Remplacer [url=unsite.com] par <a href='unsite.com'>

WRInaute discret
Bonjour,

J'aissaie de faire un peu comme l'éditeur de ce forum. J'ai un site avec un formulaire ou j'autorise pas les tag html mais j'aimerais autoriser le BBCode.

Comment en php je peux remplacer la string
Code:
[url=www.unsite.com]www.unsite.com[/url]
par les vrais tag html.

Est-ce qu'il existe une documentation à ce sujet?

Merci!
 
WRInaute passionné
Salut,

Code:
$var='url=[www.unsite.com]www.unsite.com[/url]';

preg_match_all('#\[url=(.*)\](.*)\[/url\]#U', $var, $t);

echo '<a href="',$t[1][0],'" ... >',$t[2][0],'</a>';
 
WRInaute discret
Merci pour cette réponse rapide Dorian53. Je crois que le preg_match_all va m'être utile mais c'est comment l'intégrer à mon site que je sais pas. Voici plus de détails.

J'ai une option d'ajouter des articles à mon site. J'ai donc un formulaire avec un champs texte appellé article. Donc la variable $article contient tout le texte. Pour les caractères en gras j'autorise le
Code:
[b]texte[/b]
et dans mon php j'ai un simple
Code:
$article = str_replace('[b]', '<b>', "$article");
$article = str_replace('[/b]', '</b>', "$article");
qui fonctionne très bien.

C'est seulement pour mettre un lien que je sais pas comment faire. Comment faire pour remplacer tout les
Code:
[url=www.unsite.com]www.unsite.com[/url]
de mar variable $article par
Code:
<a href'=www.unsite.com'>www.unsite.com</url>

C'est tout un défi pour moi :oops:
Je présume qu'il faut une fonction.
 
Discussions similaires
Haut