probleme avec la fonction stripslashes() [php] - PHP - Programmation
Marsh Posté le 29-04-2002 à 19:29:53
moi je l'avais utilisée et ca marchait.
quelle est ta chaine de depart, et celle d'arrivee quand tu utilises stripslashes?
Marsh Posté le 29-04-2002 à 19:45:47
salut
tu devrais essayer la fonction 'ereg_replace'
http://dev.nexen.net/docs/php/anno [...] eplace.php
bye
Marsh Posté le 29-04-2002 à 19:46:27
j'ai fait un formulaire de commentaires en html
je recupère le message par exemple "ouech ouech c'est de la balle" que j'écris dans un fichier
et la evidemment le "'" devient "\'" dans le fichier
pour afficher le commentaire je lis la ligne que je recupere dans $phrase puis je fait :
$tmp=stripslashes($phrase);
pis j'affiche $tmp
mais ca ne modifie rien
(ca ecris "ouech ouech c\'est de la balle" sniff)
Marsh Posté le 29-04-2002 à 20:06:27
$tmp=ereg_replace("\","",$tmp);
[jfdsdjhfuetppo]--Message édité par oxygene le 29-04-2002 à 20:06:47--[/jfdsdjhfuetppo]
Marsh Posté le 29-04-2002 à 22:22:20
oxygene > oue mais fo déspécialiser le "\" nop ?
dans ce cas ca donne $tmp=ereg_replace("\\","",$tmp);
mais ca marche pas
Warning: REG_EESCAPE
Marsh Posté le 29-04-2002 à 22:30:47
a l'epoque j'avais galere pour trouver ca (conversion de chemin de fichier windows vers unix) :
$ligne = ereg_replace("[\\]", "/", $ligne);
donc pour toi ca doit etre :
$ligne = ereg_replace("[\\]", "", $ligne);
Marsh Posté le 29-04-2002 à 22:41:38
bingo ca roule
tu peux me dire a quoi servent les [] (ici et en général)
en tt cas merci a toi kayasax et a tous les autres
a oui et sinon si quelqu'un a une idée pourquoi mon $tmp=stripslashes($phrase); marchait pas merci de m'en faire part paske je vois tjs pas
[jfdsdjhfuetppo]--Message édité par evr le 29-04-2002 à 22:43:19--[/jfdsdjhfuetppo]
Marsh Posté le 29-04-2002 à 23:57:01
ReplyMarsh Posté le 30-04-2002 à 07:28:20
ben en fait j'avais essaye simplement de despecialise mon \ en lui rajoutant un \ devant mais \\ ca doit aussi etre un caractere reserve, il faut donc le redescpecialiser....
c le site de Zend qui m'avait sauve a l'epoque car j'avais rien trouve dans ce sens sur php.net ...
Marsh Posté le 30-04-2002 à 08:57:36
on utilise pas un regexp pour les échapements de quotes, trop lourd
$test = "\'";
echo stripslashes($test);
ça affiche bien ' et ça l'a toujours fait.
vous n'avez pas l'impression d'utiliser un bazooka cotnre un moustique ?
evr file ton code incriminé, personne ne l'a demandé, si ça tombe tes quotes sont échapés deux fois de suite
Marsh Posté le 01-05-2002 à 17:11:16
<?php
$fic=fopen("news/homme.txt",r);
while (!feof($fic))
{
$tmp=fgets($fic,2048);
$tmp = ereg_replace("[\\]", "", $tmp);
echo "$tmp<br>";
}
?>
c tout simple et ca marche
avant je remplacait $tmp = ereg_replace("[\\]", "", $tmp);
par $tmp=stripslashes($tmp); et ca marchait pas (fin ca affichait $tmp AVEC les "\" )
[jfdsdjhfuetppo]--Message édité par evr le 01-05-2002 à 17:11:55--[/jfdsdjhfuetppo]
Marsh Posté le 01-05-2002 à 18:34:36
et si tu faisais
$tmp=stripslashes(stripslashes($tmp));
juste pour voir...?
Marsh Posté le 01-05-2002 à 21:05:29
evr a écrit a écrit : bingo ca roule tu peux me dire a quoi servent les [] (ici et en général) |
salut
il s'agit d'une syntaxe propre aux expressions régulières qui indiquent un groupe de caractères
par exemple : [a-zA-Z] pour tous les caractères non numériques
bye
Marsh Posté le 02-05-2002 à 00:02:46
cela dit, sans les [], ca aurait du marcher aussi non??
Marsh Posté le 02-05-2002 à 00:48:26
evr a écrit a écrit : bingo ca roule tu peux me dire a quoi servent les [] (ici et en général) en tt cas merci a toi kayasax et a tous les autres a oui et sinon si quelqu'un a une idée pourquoi mon $tmp=stripslashes($phrase); marchait pas merci de m'en faire part paske je vois tjs pas |
à mon avis c'est un problème de gpc_quotes et gpc_quotes_runtime dans ton php.ini
http://www.phpinfo.net/?p=articles&rub=magic-quotes
Marsh Posté le 02-05-2002 à 07:12:18
arg kelle merde
je n'utilise pas de SQL, mais moi ca dois etre a "on" puiskil rajoute automatikement les "\" apres la saisie quand il l'écris dans un fichier
enfin en tt cas merci ethernal pour avoir chch le d'ou venais le pb
Marsh Posté le 02-05-2002 à 10:13:24
je suppose que c'est ça, j'ai déjà eu ce genre de problème, mais impossible de me rappeler la cause
Marsh Posté le 02-05-2002 à 10:15:26
evr a écrit a écrit : arg kelle merde je n'utilise pas de SQL, mais moi ca dois etre a "on" puiskil rajoute automatikement les "\" apres la saisie quand il l'écris dans un fichier enfin en tt cas merci ethernal pour avoir chch le d'ou venais le pb |
je pige pas trop le problème mais c'est normal qu'il rajoute le \ devant les quotes...
ce topic est sacrément obscur, tu montrerais pas le code du traitement de la chaine ?
Marsh Posté le 09-05-2003 à 09:12:31
Moi j'ai un petit pb,
Le pb apparaît quand j'ouvre un fichier php et je le place dans un formulaire. Puis je le modifie et je le réenregistre. Le fichier a cette fois 2X plus de retour ligne...
J'ai essayé avec striplashes mais ça ne semble pas fonctionner, j'ai fait plein de recherche sur google, mais je n'ai rien trouvé sur le sujet. Quelqu'un a déjà eu ce genre de pb ?
Marsh Posté le 29-04-2002 à 19:12:41
voila je veux supprimer les "\" d'une variable chaine
j'ai trouver la fonction stripslashes() qui parait faire ce que je veux MAIS..
elle le fait pas
elle remplace rien dans ma chaine
synthaxe employée:
$tmp=stripslashes($phrase);
quelqu'un pourrait m'aider svp ?