tu as tester avec str_replace c'est souvant plus puissant que preg_replace. et plus puissant que str_ireplace.
str_replace('&', '', $ma_chaine);
normalement ça marche bien mais ça va te retirer tout les & de l'ensemble de la chaine. si tu cherche à localisé précisément le & effectivement
seule le regex pourra le faire.
donc on doit savoir qu'est ce qu'il y a dans $chaineAvecCaractere
ou le bout contenant la parti ou tu peux retirer violemment tout les & donc ça n'affectera pas les contenus entre les balises
ou tu as dans $chaineAvecCaractere et bien tu contenu avec des balises et entre les balises et là tu peux avoir je sais un texte avec un & genre
<a &&> <i>&icone</i></a> là il te faudra effectivement un regex pour lui dire de viré les && spécifiquement dans <a>
alors moi je te conseil de teste ton regex avec le site regex101 (.) com là si je comprend bien
'/\]\&+\[/'
donc il détecte ] et & il indique s'il y a au moins 1 ou plus de & avec le + il détecte [
je viens de tester ça fonctionne chez moi
$re = '/\]\&+\[/';
$str = '<test]&[ test> &icinon&& < ]&&&[ test2>';
$subst = '][';
$result = preg_replace($re, $subst, $str);
echo "Le résultat de la substitution est ".$result;
résultat:
Code : Tout sélectionner
Le résultat de la substitution est <test][ test> &icinon&& < ][ test2>
Je te conseil d'utilisé le site onlinephp (.) io
pour faire des tests rapide de se style
tu as tester avec str_replace c'est souvant plus puissant que preg_replace. et plus puissant que str_ireplace.
str_replace('&', '', $ma_chaine);
normalement ça marche bien mais ça va te retirer tout les & de l'ensemble de la chaine. si tu cherche à localisé précisément le & effectivement
seule le regex pourra le faire.
donc on doit savoir qu'est ce qu'il y a dans $chaineAvecCaractere
ou le bout contenant la parti ou tu peux retirer violemment tout les & donc ça n'affectera pas les contenus entre les balises
ou tu as dans $chaineAvecCaractere et bien tu contenu avec des balises et entre les balises et là tu peux avoir je sais un texte avec un & genre
<a &&> <i>&icone</i></a> là il te faudra effectivement un regex pour lui dire de viré les && spécifiquement dans <a>
alors moi je te conseil de teste ton regex avec le site regex101 (.) com là si je comprend bien
'/\]\&+\[/'
donc il détecte ] et & il indique s'il y a au moins 1 ou plus de & avec le + il détecte [
je viens de tester ça fonctionne chez moi
[PHP]$re = '/\]\&+\[/';
$str = '<test]&[ test> &icinon&& < ]&&&[ test2>';
$subst = '][';
$result = preg_replace($re, $subst, $str);
echo "Le résultat de la substitution est ".$result;
[/PHP]
résultat:
[code]Le résultat de la substitution est <test][ test> &icinon&& < ][ test2>[/code]
Je te conseil d'utilisé le site onlinephp (.) io
pour faire des tests rapide de se style