Recherche un regx

Résolu
nyeri Messages postés 45 Date d'inscription   Statut Membre Dernière intervention   -  
NookZ Messages postés 2138 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'aimerai un regex qui me permettrai de remplacer un ' par un \' svp.

Merci beaucoup

13 réponses

NookZ Messages postés 2138 Date d'inscription   Statut Membre Dernière intervention   514
 
Bonjour,

Quel langage?
Enfin normalement : chaine.replace("'","\'") devrait marcher
0
babou54
 
y'a plus simple tu peux utiliser str_replace ()
0
nyeri Messages postés 45 Date d'inscription   Statut Membre Dernière intervention  
 
En php je la cherche. chaine.replace c'est pour du JS non ?
0
NookZ Messages postés 2138 Date d'inscription   Statut Membre Dernière intervention   514
 
juste au-dessus de ton post y'a un str_replace ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nyeri Messages postés 45 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
NookZ Messages postés 2138 Date d'inscription   Statut Membre Dernière intervention   514
 
votre solution me semble pourtant bien adaptée.Avez-vous des " dans votre $text, si oui c'est normal que ça échoue, il faut également les remplacés
0
nyeri Messages postés 45 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
NookZ Messages postés 2138 Date d'inscription   Statut Membre Dernière intervention   514
 
Pourquoi y'a-t-il des antislash doubles?
0
nyeri Messages postés 45 Date d'inscription   Statut Membre Dernière intervention  
 
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)" />
0
NookZ Messages postés 2138 Date d'inscription   Statut Membre Dernière intervention   514
 
peut-être en faisant :
$text=str_replace("'","\'",$text);
$text=str_replace("\\'","\'",$text);
0
nyeri Messages postés 45 Date d'inscription   Statut Membre Dernière intervention  
 
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)" />
0
nyeri Messages postés 45 Date d'inscription   Statut Membre Dernière intervention  
 
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('''=>'\''));
0
NookZ Messages postés 2138 Date d'inscription   Statut Membre Dernière intervention   514
 
arf en fait le soucis c'est quand on met ça \\, il comprend ça \, donc faudrait mettre :
$text=str_replace("\\\'","\\'",$text);
0
nyeri Messages postés 45 Date d'inscription   Statut Membre Dernière intervention  
 
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)" />
0
NookZ Messages postés 2138 Date d'inscription   Statut Membre Dernière intervention   514
 
Ah ben ça c'est bizarre :s
pourtant c'était pas un \\' :s:s
suis-je bête -_-
$text=str_replace("\\\\'","\\'",$text);
0
nyeri Messages postés 45 Date d'inscription   Statut Membre Dernière intervention  
 
Encore un bon point pour toi NookZ, ca marche nickel :)

Merci beaucoup , je passe le post en résolue.
0
NookZ Messages postés 2138 Date d'inscription   Statut Membre Dernière intervention   514
 
Parfait, si y'a un autre soucis, tu sais où me trouver
0