Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/12/2010, 09h46   #1
Membre confirmé
 
Avatar de renaud26
 
Inscription : mars 2003
Messages : 1 043
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : mars 2003
Messages : 1 043
Points : 285
Points : 285
Par défaut Questions sur nl2br

Bonjour à toutes et tous,

Je voudrais savoir comment détecter à coup sûr les sauts de ligne type \n et \r ou \r\n dans des données en provenance d'un champ text de mysql.

De façon à appliquer ou non la fonction nl2br pour les convertir.

Pour la mise en forme des textareas, j'utilise Tiny Mce. Il est normalement configuré. Si je saisis dans le textarea :

Citation:
ligne 1
ligne 2
Et que je regarde le source, ou ma BDD, j'ai bien :
<p>ligne1</p>
<p>ligne2</p>

Mais si je fais le test suivant :

Code :
1
2
3
4
5
 
if(strpos($text_bdd, "\n") !== false || strpos($text_bdd, "\r") !== false){
echo "saut de ligne !<br />";
$output = nl2br($text_bdd);
echo $output;
Il me trouve des \n ou des \r et applique nl2br ! alors qu'il ne devrait pas.
Du coup, quand je réaffiche les données dans le textarea, je me retrouve avec :

Citation:
<p>ligne1</p>
<p></p>
<p>ligne2</p>
Précision : dans mes BDD, il y a des textes saisis avant que je n'installe Tiny sur les textarea. Ils sont donc pleins de \n et si je n'applique pas nl2br, ils sont complètement compacts et illisibles. Voila pourquoi j'ai besoin de cette fonction....mais pas tout le temps !
Merci de votre aide.
renaud26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2010, 10h23   #2
Membre Expert
 
Avatar de gwinyam
 
Homme Mathieu ROBIN
Développeur Web
Inscription : mai 2006
Messages : 1 116
Détails du profil
Informations personnelles :
Nom : Homme Mathieu ROBIN
Âge : 25
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mai 2006
Messages : 1 116
Points : 2 142
Points : 2 142
Il y a erreur sur le coupable. C'est TinyMCE qui remplace les <br> par des <p>:
FAQ TinyMCE - TinyMCE produce P elements on enter/return instead of BR elements?

Faut s'être déjà fait avoir pour le savoir.
__________________
Mon blog techno et son billet hebdomadaire sur l'actualité jQuery. Et mon blog cuisine pour une personne.
Le bouton ne masse pas les pieds, mais ça aide la communauté.
gwinyam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2010, 11h23   #3
Membre confirmé
 
Avatar de renaud26
 
Inscription : mars 2003
Messages : 1 043
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : mars 2003
Messages : 1 043
Points : 285
Points : 285
Bonjour,

Ah ok, je vais regarder de ce côté là.
Merci du tuyau.
renaud26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2010, 11h30   #4
Membre Expert
 
Avatar de gwinyam
 
Homme Mathieu ROBIN
Développeur Web
Inscription : mai 2006
Messages : 1 116
Détails du profil
Informations personnelles :
Nom : Homme Mathieu ROBIN
Âge : 25
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mai 2006
Messages : 1 116
Points : 2 142
Points : 2 142
De rien, oublie pas le bouton
__________________
Mon blog techno et son billet hebdomadaire sur l'actualité jQuery. Et mon blog cuisine pour une personne.
Le bouton ne masse pas les pieds, mais ça aide la communauté.
gwinyam est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h51.


 
 
 
 
Partenaires

Hébergement Web