Bonjour a tous et a toutes !
voici mon souci :
Je cherche a filtrer les retours a la ligne multiple des visiteurs.
Il s'agit d'un formulaire avec un textaera. rien de bien comlpliqué jusque la.
Le souci est que l'enssemble des variables sont traité par 'mysql_real_escape_string' et a partir du moment ou la varaiable est traité je n'arrive plus a la filtrée
voici un script tout pret a etre utilisé afin de mieux comprendre mon souci
le code est commenté
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 <?php //objectif : supprimer les saut de lignes multiples //traitement 'mysql_real_escape' de la variable $test = mysql_real_escape_string($_POST[commentaire]); $testeur = preg_replace("/(\r\n)+|(\n|\r)+/", "\r\n", $test);// c'est ici le probleme a resoudre // variable non traité par 'mysql_real_escape' $string = preg_replace("/(\r\n)+|(\n|\r)+/", "\r\n", $_POST[commentaire]); echo '<hr/>'; echo 'chaine non filtree <br/>'.nl2br($_POST[commentaire]);// chaine non filtree tous les sauts de lignes sont visibles echo '<hr/>'; echo 'chaine sans mysql_real_escape filtree<br/>'.nl2br($string); // resultat attendu echo '<hr/>'; echo'chaine avec mysql_real_escape filtree<br/>'. nl2br($testeur); // cette chaine devrait apparaitre comme celle du dessus Le probleme apparait là ?> <form action="#" method="post"> <textarea id="commentaire" name="commentaire" >1 2 3</textarea> <input type="submit" /> </form>
comme vous pouvez le voir si je ne traite pas la chaine avec 'mysql_real_escape' alors je n'ai pas de probleme pour filtrée les saut de lignes.
le probleme apparait des que que 'mysql_real_escape' est utilisé hors je n'arrive pas atrouvé la regexp exact qui permettrait de corriger ce probleme
Partager