Probleme d'utilisation de ereg_replace

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Probleme d'utilisation de ereg_replace

par cortex007 » 25 avr. 2006, 16:23

l'utilisation des basiles html preformate <pre> resolvent le probleme merci pour votre aide
probleme resolu

par cortex007 » 25 avr. 2006, 16:20

Essaie eventuellement avec la méthode wordwrap :
$chaine = wordwrap($_POST['formulaire'], 20);
echo nl2br($chaine);
j'ai deja essaye avec wordwrap ca donne la meme chose :(

par cortex007 » 25 avr. 2006, 16:19

je pense que si ton conteneur à une taille fixe correctement définie, ton texte s'adaptera atumatiquement et dobnc plus besoin de chunk_split
yep avec les balise <pre>

par Ryle » 25 avr. 2006, 16:01

Essaie eventuellement avec la méthode wordwrap :
$chaine = wordwrap($_POST['formulaire'], 20);
echo nl2br($chaine);

par jojolapine » 25 avr. 2006, 15:49

je pense que si ton conteneur à une taille fixe correctement définie, ton texte s'adaptera atumatiquement et dobnc plus besoin de chunk_split

par cortex007 » 25 avr. 2006, 14:45

:arrow: non sans pretraitement de chaine nl2br resoud le probleme lorsqu'in attaque directement $_POST, meme si a la fin de l'affichage il subsiste un '>'
pourquoi la ca marche et pourquoi il reste un petit morceau a la fin ?

:arrow: Comme je fait apparaitre la chaine dans un contenant avec un nombre de colonnne limite, jutilise chunk_split pour faire des retours a la ligne auto en fin de colonne.
Si je fait une erreur logique ou d'utilisation de fonctions c'est normal je suis un noob ;)

au fait le retour du formulaire vient d'un texaera si ca peut aider

par Ryle » 25 avr. 2006, 14:18

As-tu le même problème si tu fais directement :
echo nl2br($_POST['formulaire']);
Je comprend vraiment pas l'intêret du chunk_split :(

par zeus » 25 avr. 2006, 13:08

est-ce qu'on peut dire que le pb est résolu ?

par cortex007 » 25 avr. 2006, 13:07

Merci de vos reponse :)
...
:arrow: Mince le comportement de nl2br est le meme que celui de ereg_replace
:( (ca rajoute des morceau de chaine non pevu)

:arrow: pour resumer la situation, je cherche a transformer les chr(13) en <br> dans une chaine pour la voir s'afficher avec un minimum de formatage dans une cellule de tableau ou un cadre. les chr(13) pris en compte devrons etre ceux existant dans la chaine est ceux qui devrons etre introduit dans la chaine pour tenir compte du nombre de colonne du contenant
:arrow: Je ne crois pas que le probleme viens du chunk_split car j'ai mis en commentaire dans le code cette fonction et le comportement est le meme

par Ryle » 25 avr. 2006, 12:28

chunk_split te divise ta chaine en segments de 160 octets de longueur et rajoute des retours charriots après chacun... j'ose même pas imaginer la tête de ce que contient ton $formatligne avant le ereg_replace...

Un nl2br() pour convertir retour charriot en <br /> ne serait-il pas tellement plus simple à utiliser ? :)

par eurodeka » 25 avr. 2006, 12:23

En faite avec ce code tu veut faire quoi exactement ?

Probleme d'utilisation de ereg_replace

par cortex007 » 25 avr. 2006, 12:20

Probleme d'utilisation de la fonctionereg_replace.
Afin d'afficher correctement le contenu d'en chaine dans la cellule d'un tableau html, avec prise en compte des retours a la ligne.
J'applique cette fonction a une chaine :
$chaine=StripCSlashes(trim($_POST['formulaire']))  // je pense pas que cette action soit responsable du probleme mais je la met quand meme
$formatligne=chunk_split($chaine,160,'<BR>'); // pour obliger un saut de ligne apres une ligne remplie
$chaine=ereg_replace(chr(13),'<br>',$formatligne);      // ligne qui pose un probleme pour moi 
avant l'utilisation de la fonction, $chaine='1'+chr(13)+'2'
apres l'utilisation de la fonction, $chaine='1'+'<BR>+'2'+'<BR>+'?'+'2>' ou ? est soit un espace ou un caractere non affichable.
d'apres vous il se passe quoi ?