Recherche un regx

Résolu
Bonjour,

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

  1. Bonjour,

    Quel langage?
    Enfin normalement : chaine.replace("'","\'") devrait marcher
    0
    1. y'a plus simple tu peux utiliser str_replace ()
      0
      1. En php je la cherche. chaine.replace c'est pour du JS non ?
        0
        1. juste au-dessus de ton post y'a un str_replace ;)
          0
          1. 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
            1. 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
          2. 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
            1. Pourquoi y'a-t-il des antislash doubles?
              0
              1. 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
                1. peut-être en faisant :
                  $text=str_replace("'","\'",$text);
                  $text=str_replace("\\'","\'",$text);
                  0
              2. 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
                1. 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
                  1. arf en fait le soucis c'est quand on met ça \\, il comprend ça \, donc faudrait mettre :
                    $text=str_replace("\\\'","\\'",$text);
                    0
                    1. 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
                      1. Ah ben ça c'est bizarre :s
                        pourtant c'était pas un \\' :s:s
                        suis-je bête -_-
                        $text=str_replace("\\\\'","\\'",$text);
                        0
                    2. Encore un bon point pour toi NookZ, ca marche nickel :)

                      Merci beaucoup , je passe le post en résolue.
                      0
                      1. Parfait, si y'a un autre soucis, tu sais où me trouver
                        0