échapper les guillemets simples, erreur
fraid
Messages postés
43
Statut
Membre
-
Devilish Messages postés 1431 Statut Membre -
Devilish Messages postés 1431 Statut Membre -
Bonjour,
je dois créer un fichier php a partir d'une page php,
le fichier ressemble à cela :
<?
$contenu_de_la_page='.......';
?>
mon problème est que je n'arrive pas à échapper les guillemets simples !
$lignes_[$oo] représente une ligne du fichier à recopier ($lignes_[] est un tableau obtenue avec file())
voici ma ligne qui est censée échapper les guillemets simples :
$tex=str_replace("'", "\'", $lignes_[$oo]);
mais ca ne marche pas, pourtant dans une page test la meme ligne de code fonctionne correctement ! d'où peut venir l'erreur ??
merci d'avance
je dois créer un fichier php a partir d'une page php,
le fichier ressemble à cela :
<?
$contenu_de_la_page='.......';
?>
mon problème est que je n'arrive pas à échapper les guillemets simples !
$lignes_[$oo] représente une ligne du fichier à recopier ($lignes_[] est un tableau obtenue avec file())
voici ma ligne qui est censée échapper les guillemets simples :
$tex=str_replace("'", "\'", $lignes_[$oo]);
mais ca ne marche pas, pourtant dans une page test la meme ligne de code fonctionne correctement ! d'où peut venir l'erreur ??
merci d'avance
A voir également:
- échapper les guillemets simples, erreur
- Guillemets français google doc - Astuces et Solutions
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- Erreur upes 1025 - Forum Téléviseurs
- Erreur t32 ✓ - Forum Livebox
- Guillemets anglais - Guide
15 réponses
sauf erreur de ma part addslashes ajoute des backslashes aux guillemets simples ET doubles, et je voudrais échapper uniquement les guillemets simples !
Un string replace pourrait marcher ici?
(Je me suis peut être trompé d'un backslash)
str_replace ( "\'", "\\'", tachaine)
(Je me suis peut être trompé d'un backslash)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionstr_replace ( "\'", "'", tachaine)
En fait c'est ce que je voulais dire tout à l'heure me suis gouré en faisant un copier/coller (j'utilise des moufles pour taper).
Pas mieux... arrêtes les frais ici... :o)
Fais le test, et vérifies par toi même...
Fais le test, et vérifies par toi même...
<?php $t = "Tu as recopié sa solution, en y ajoutant des erreurs ;o) c'est moche... c'est de l'anti-aide :-D"; $t1 = str_replace ( "\'", "\\'", $t); $t2 = str_replace ( "'", "\'", $t); $t3 = str_replace ( "\'", "'", $t); $t4 = str_replace ( "'", "'", $t); // ce n'est pas un échappement ... ceci dit ... echo $t . "<br><br>1 : NON ! " . $t1 . "<br><br>2 : OUI! " . $t2. "<br><br>3 : NON ! " . $t3 . "<br><br>4 : OUI! " . $t4; ?>
Hum je l'ai testé avant de poster... Mais comme tu m'as mis le doute j'ai pris ton bout de code, et chez moi ça marche...
Seul la solution pour le 2 ne marche pas chez moi... Là c'est étrange, ce qui ne marche pas chez lui marche chez moi?...
Seul la solution pour le 2 ne marche pas chez moi... Là c'est étrange, ce qui ne marche pas chez lui marche chez moi?...
non.
Verifies la source (code source)... TA solution n'échappes que dalle... y'a un backslash en trop dans ton strreplace.
Verifies la source (code source)... TA solution n'échappes que dalle... y'a un backslash en trop dans ton strreplace.
je ne trouve pas la fonction attendue dans les commentaires !
j'ai testé celle ci :
preg_replace('{([\'\\\\])}', '\\\\$1', $test);
mais ne marche pas, j'en ai testé une autre trouvée un peu plus haut, pareil...
ce qui est bizzare c'est que ca marche sur ma page test, mais pas sur ma vrai page (avec le ligne par ligne) comment ca se fait ??
j'ai testé celle ci :
preg_replace('{([\'\\\\])}', '\\\\$1', $test);
mais ne marche pas, j'en ai testé une autre trouvée un peu plus haut, pareil...
ce qui est bizzare c'est que ca marche sur ma page test, mais pas sur ma vrai page (avec le ligne par ligne) comment ca se fait ??
en fait le but est de passer le contenue d'une page php dans une variable, pour pouvoir l'afficher dans un textarea, a moins qu'il existe une solution plus simple à mon problème m'évitant de passer le contenue de la page dans une variable ???
Ah ok, effectivement après inspection oui j'ai bien rajouté une erreur gryzzly -_-'... Mais la partie avec le
&aposmarche bien non? (ceci est une simple question pas une affirmation)
Ca ne marche pas chez moi en tous cas :-(
voici le script qui transforme le contenue de la page en variable :
$lignes_=file("$open_file");
$lignes= count($lignes_);
$texte_="";
for($oo=0;$oo<=$lignes;$oo++)
{
$tex=str_replace("'", "&apos", $lignes_[$oo]);
$tex=str_replace("</textarea>", "</textarea>", $lignes_[$oo]);
$texte_.="$tex\n";
}
et à la fin $texte_ contient ma page...
mais pourquoi cela ne marche pas ???
voici le script qui transforme le contenue de la page en variable :
$lignes_=file("$open_file");
$lignes= count($lignes_);
$texte_="";
for($oo=0;$oo<=$lignes;$oo++)
{
$tex=str_replace("'", "&apos", $lignes_[$oo]);
$tex=str_replace("</textarea>", "</textarea>", $lignes_[$oo]);
$texte_.="$tex\n";
}
et à la fin $texte_ contient ma page...
mais pourquoi cela ne marche pas ???