Bonjour a tous,
je me retrouve face à un problème qui me triture la tête avec les regex et les accents en début de chaine depuis quelques jours déjà
je m'explique
exemple 1 :
Dans ce cas la mot "décrire" est bien remplacé par "parler" et le nouveau texte sera alors :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 $texte = "un exemple avec le mot : décrire"; $patterns[] = "#\bdécrire\b#i"; $replaces[] = "parler"; $new_texte = preg_replace($patterns, $replaces, $texte, 1); echo $new_texte;
un exemple avec le mot : parler
exemple 2 :
Ici le mot "écrire" n'est pas modifié et la phrase est donc :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $texte = "un exemple avec le mot : écrire"; $patterns[] = "#\bécrire\b#i"; $replaces[] = "parler"; $new_texte = preg_replace($patterns, $replaces, $texte, 1); echo $new_texte;
un exemple avec le mot : écrire
Pour en conclure, la fonction ne change pas les mots avec un accent en début et en fin de chaîne, mais au milieu ça passe J'ai essayé pas mal de technique comme le /p{L}, ainsi que diverses solutions sans trouver malheureusement
Si qqun a des pistes... parce que la je suis perdu
Partager