Bonjour,
J'obtiens des résultats étranges avec cette regex:
Lorsque je l'applique sur le texte: "http://www.test.com" dans un preg_replace
Code : Sélectionner tout - Visualiser dans une fenêtre à part '![^>](https?\://www|[a-z]+)\.[a-z\-_0-9]+\.(com|net|fr|org|info)!isU'
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:
Le contenu de $0 est donc altéré, je ne comprends pas pourquoi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part http:/<a href='/www.test.com'>/www.test.com</a>
Le code de test entier:
Merci d'avance pour votre aide.
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);
Partager