Recherche un regx
Résolu
nyeri
Messages postés
49
Statut
Membre
-
NookZ Messages postés 2376 Statut Membre -
NookZ Messages postés 2376 Statut Membre -
Bonjour,
J'aimerai un regex qui me permettrai de remplacer un ' par un \' svp.
Merci beaucoup
J'aimerai un regex qui me permettrai de remplacer un ' par un \' svp.
Merci beaucoup
Configuration: Windows XP Firefox 3.0.10
13 réponses
-
Bonjour,
Quel langage?
Enfin normalement : chaine.replace("'","\'") devrait marcher -
-
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Oui le problème est que j'ai deja testé.
En faite je récupère un text de type bbcode dans une base de donnée puis je le convertit en HTML à l'aide d'une fonction parse_bbcode(). Puis j'envoie ce texte dans une fonction JS qui affichera le texte dans une fenetre de type JS. J'ai un souci lorsque je rentre des ', j'ai une erreur et impossible d'ouvrir la fenetre JS.
fonction pr transformer mon bbcode
$text=bbcode($texte);
Appel de ma fonction JS
onclick="creer_fenetre(400,400,500,500,'<?php echo $titre; ?>','<?php echo $text; ?>','<?php echo $lien; ?>','<?php echo $fichier; ?>','<?php echo $j; ?>',event)" />
J'ai toujours l'erreur du type : missing ) after argument list -
Non voila ce que j'ai :
$text=bbcode($texte);
$text=str_replace("'","\'",$text);
Sa affiche : En route ! mes s\'amis
A l'aide de firebug j'obtient sa :
<input type="image" title="lecture"value="Fenetre" src="../template/theme/img/lecture.png" onclick="creer_fenetre(400,400,500,500,'La chaise','<div class=\\'centrebb\\'><span class=\\'tgros\\'><span class=\\'rouge\\'>La chaise</span></span></div><div class=\\'justifie\\'><span class=\\'tgros\\'>En route ! mes s\'amis</span></div><br/><br/><br/><br/><br/><br/> ','../../../france/europe/upload/florent.delaire/La chaise/','printOUT3505.pdf','1',event)" />
A priori c'est le ' de mes s'amis qui fait planter -
-
Du fait que je fait $text=str_replace("'","\'",$text);
Sinon j'obtient sa sant le $text=str_replace("'","\'",$text);
<input type="image" title="lecture"value="Fenetre" src="../template/theme/img/lecture.png" onclick="creer_fenetre(400,400,500,500,'La chaise','<div class=\'centrebb\'><span class=\'tgros\'><span class=\'rouge\'>La chaise</span></span></div><div class=\'justifie\'><span class=\'tgros\'>En route ! mes s'amis</span></div><br/><br/><br/><br/><br/><br/> ','../../../france/europe/upload/florent.delaire/La chaise/','printOUT3505.pdf','1',event)" /> -
J'obtient toujours avec les deux str_replace que tu m'as donnée. Je comprend pas pourquoi $text=str_replace("\\'","\'",$text); n'a pas l'air de fonctionner :
<input type="image" title="lecture"value="Fenetre" src="../template/theme/img/lecture.png" onclick="creer_fenetre(400,400,500,500,'La chaise','<div class=\\'centrebb\\'><span class=\\'tgros\\'><span class=\\'rouge\\'>La chaise</span></span></div><div class=\\'justifie\\'><span class=\\'tgros\\'>En route ! mes s\'amis</span></div><br/><br/><br/><br/><br/><br/> ','../../../france/europe/upload/florent.delaire/La chaise/','printOUT3505.pdf','1',event)" /> -
Je te donne une partie de mon parse_bbcode peut etre sa pourra t'aider :
$text = preg_replace("#\<email=(.+)\>(.+)\</email\>#isU","<a href=\'mailto:$1\'>$2</a>",$text);
$text = preg_replace("#\<lien=(.+)\>(.+)\</lien\>#isU","<a href=\'$1\'>$2</a>",$text);
$text = preg_replace("#\<image\>(.+)\</image\>#isU","<img src=\'$1\' alt=\'image poster par utilisateur\' style=\'width:40%; height:30%;\' />",$text);
$text = preg_replace("#\<citation=(.+)\>(.+)\</citation\>#isU","<span class=\'citation\'>Citation :$1</span><div class=\'citation2\'>$2</div>",$text);
$text = preg_replace("#\<barre\>(.+)\</barre\>#isU","<span class=\'barre\'>$1</span>",$text);
$text = preg_replace("#\<italique\>(.+)\</italique\>#isU","<span class=\'italique\'>$1</span>",$text);
$text = preg_replace("#\<gras\>(.+)\</gras\>#isU","<span class=\'gras\'>$1</span>",$text);
$text = preg_replace("#\<souligne\>(.+)\</souligne\>#isU","<span class=\'souligne\'>$1</span>",$text);
$text = preg_replace("#\<couleur=(.+)\>(.+)\<\/couleur\>#isU","<span class=\'$1\'>$2</span>",$text);
$text = preg_replace("#\<position=(.+)\>(.+)\</position\>#isU","<div class=\'$1\'>$2</div>",$text);
$text = preg_replace("#\<taille=(.+)\>(.+)\</taille\>#isU","<span class=\'$1\'>$2</span>",$text);
$text = preg_replace("#\<police=(.+)\>(.+)\</police\>#isU","<span class=\'$1\'>$2</span>",$text);
$text = preg_replace ("#(\r|\n|\r\n)#isU","<br/>", $text);
$text = strtr($text,array('''=>'\'')); -
arf en fait le soucis c'est quand on met ça \\, il comprend ça \, donc faudrait mettre :
$text=str_replace("\\\'","\\'",$text); -
Héhé sa fonctionne pour les \\ mais sa enlève celui sur mon texte :
<input type="image" title="lecture"value="Fenetre" src="../template/theme/img/lecture.png" onclick="creer_fenetre(400,400,500,500,'La chaise','<div class=\'centrebb\'><span class=\'tgros\'><span class=\'rouge\'>La chaise</span></span></div><div class=\'justifie\'><span class=\'tgros\'>En route ! mes s'amis</span></div><br/><br/><br/><br/><br/><br/> ','../../../france/europe/upload/florent.delaire/La chaise/','printOUT3505.pdf','1',event)" /> -
Encore un bon point pour toi NookZ, ca marche nickel :)
Merci beaucoup , je passe le post en résolue.