Boujour,
Je cherche a remplacer tout les caractère [ par < et ] par > avec RegEx. le problème est que le [ est directement suivit d'une chaîne. ex:
[text] diviendrait <text>.
Merci
Boujour,
Je cherche a remplacer tout les caractère [ par < et ] par > avec RegEx. le problème est que le [ est directement suivit d'une chaîne. ex:
[text] diviendrait <text>.
Merci
![]()
Et bienvenue à toi sur les forums de developpez.com !
Je te suggere de jeter un oeil à cette page : http://php.net/str_replace
Merci mais il y a un toujours problèeme, si je change une lettre ça marche mais pas si j'esssaie de changer par < ou >.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 // code qui fonctionne $str = "[texte]"; $str = str_replace('[', '/', $str); echo $str; //donne /texte] // code qui ne fonctionne pas $str = "[texte]"; $str = str_replace('[', '<', $str); echo $str; // affiche une page blanche
La vérité est ailleurs![]()
<texte> est considéré comme une balise html (et donc invalide) par ton navigateur.
Regarde le source de ta page dans ton navigateur
si tu veux afficher tes '<', essaie ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $str = "[texte]"; $str = str_replace('[', '<', $str); echo htmlentities($str);
Ton script fonctionne correctement : regarde le code source de la page blanche, le remplacement est effectué. Il n'y a simplement pas d'affichage car le < est interprété comme un début de balise html
[Edit]Mr N a été plus vif que moi![]()
Merci, j'aurrai du y penser tous seul, ca fait quand même trois ans que je fait du php et de l'html.
J'ai malgès tout encore un problème, j'aimerai changer [var=texte][var] en <var="texte"><var>. Tout ce que j'arrive a faire est <var="texte><var> (" manquant).
note: "var" ne change jamais mais "texte" est diférent à chaque fois!
Merci.
Un truc de ce style ça doit marcher (sauf si ça marche pas).
Je ne l'ai pas testé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $texte = '[var=texte][var]'; preg_replace('/\[(.+)=(.+)\]\[\1\]/','<\1="\2"><\1>',$texte);
# La rubrique Web
# Javascript / PHP / Flash / (X)HTML / CSS
# Les FAQs
# Les Sources
# Mon profil LinkedIn
Partager