Bonjour,

J'obtiens des résultats étranges avec cette regex:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
'![^>](https?\://www|[a-z]+)\.[a-z\-_0-9]+\.(com|net|fr|org|info)!isU'
Lorsque je l'applique sur le texte: "http://www.test.com" dans un preg_replace
avec comme chaine de remplacement '$0', la chaine sortante est bien "http://www.test.com".

Par contre, si je mets la chaine de remplacement '<a href=\'$0\'>$0</a>' (créer un lien), le code généré est:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
http:/<a href='/www.test.com'>/www.test.com</a>
Le contenu de $0 est donc altéré, je ne comprends pas pourquoi.

Le code de test entier:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
$bbLink = '![^>](https?\://www|[a-z]+)\.[a-z\-_0-9]+\.(com|net|fr|org|info)!isU';
$htmlLink = '<a href=\'$0\'>$0</a>';
$texte = preg_replace($bbLink, $htmlLink, $texte);
Merci d'avance pour votre aide.