Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2861 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Préserver un retour à la ligne dans un textarea en utf-8

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Préserver un retour à la ligne dans un textarea en utf-8

n°2227413
ghost1958
Posté le 07-05-2014 à 06:28:20  profilanswer
 

Bonjour à tous,
Je me trouve confronté à un problème en récupérant les données d'un textarea:
Le moindre retour à la ligne me sort du bloc d'affichage délimité par "<p></p>".
Je me retrouve alors avec un texte scindé en deux parties.
http://www.tony-transport.com/i2.jpg
Voici le code pour l'affichage:

Code :
  1. if (file_exists($f))
  2. {
  3. $fp2=fopen("../actualite.dir",'r'); 
  4. while (!feof($fp2))
  5. $don=explode("#",fgets($fp2)); 
  6. $dt1=$don[0]; //date1
  7. $tit1=$don[1];//titre1
  8. $des=$don[2];
  9. $lien1=$don[3];
  10. if($des>"" ){
  11. $verif=1;
  12. echo "<tr><td><span class='ad' style='margin-left:-300px;'>Résultat sur la page d'accueil :</span><div id='content_02'>";
  13. echo"<p> <span class='stitre'>".$tit1."</span><br /><cv2> Le : ".$dt1."</cv2><br />";
  14. echo "<cv2>".$des."</cv2>";
  15. if($lien1>"" )
  16. {
  17. echo "<br /><a href=".$lien1."><lien>Lire l'article</lien></a>";
  18. }
  19. echo "</p>";
  20. }
  21. }
  22. fclose($fp2);
  23. }
  24. if($verif==1){
  25. echo "<form action='#' method='get'><input type='hidden' name='effacer' value='1'><input type='submit' value='Supprimer'></form><br /></div>";
  26. }


 
Un grand merci à vous...

mood
Publicité
Posté le 07-05-2014 à 06:28:20  profilanswer
 

n°2227464
MaybeEijOr​Not
but someone at least
Posté le 07-05-2014 à 13:29:37  profilanswer
 

fgets lit par défaut un fichier ligne par ligne, donc si tu as un retour à la ligne c'est normal de passer à une nouvelle itération.
 
Bref une solution c'est de lire tout le fichier puis d'après l'explode en fonction des séparateurs. Vu ton schéma, il te faudra deux séparateurs différents.
 
L'autre solution c'est de mettre tout le texte sur une seule ligne dans ton fichier mais d'utiliser un caractère spécial à la place des retours à la ligne.

n°2227466
ghost1958
Posté le 07-05-2014 à 13:42:05  profilanswer
 

Je n'avais pas creuser cette idée, je vais essayer
avec la fonction "files_content" et travailler en tmp. pour les explodes :)  
Une seule ligne n'est pas possible, car j'autorise jusqu'à 500 caractères.
Merci beaucoup !

n°2227497
MaybeEijOr​Not
but someone at least
Posté le 07-05-2014 à 16:55:47  profilanswer
 

Non ce que je veux dire c'est qu'en enregistrant dans ton fichier tu peux supprimer les sauts de lignes rentrés et les remplacer par un caractère spécial. Et en sortie tu fais le contraire.

n°2227613
ghost1958
Posté le 09-05-2014 à 05:10:18  profilanswer
 

Le problème est qu'en utf-8, les sauts de lignes ne sont plus reconnus à l'enregistrement, j'ai essayé avec chr$(13), avec "\n\r" en fin de ligne, mais en observant le fichier, tout reste concaténé... :??:
Tu as raison, il me faut un autre séparateur pour les fins de ligne, et encore un autre pour les fins de message. En fait, un total de 3 séparateurs.
Merci !
 


Message édité par ghost1958 le 09-05-2014 à 05:26:26

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Préserver un retour à la ligne dans un textarea en utf-8

 

Sujets relatifs
Executer un script si nouvelle ligne dans une table MySQLretour en arrière dans le code
[FORTRAN] Gestion sauts de ligne Windows/Linux dans fichier txt (1/2o)type de retour de la fonction binomial_coefficient de boost
Copier données en ligne par colonneCréer macro pour ajout de ligne en cas de doublons
[Inculte inside] Aligner 2 objets sur une même ligne.[résolu] découper un fichier selon contenu de la ligne
Iframe et Retour à la page précédenteespace entre ligne de texte et haut du cadre
Plus de sujets relatifs à : Préserver un retour à la ligne dans un textarea en utf-8


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR