Un petit truc pratique lorsqu’on a à traiter une chaîne de texte dont les sections sont séparées par des sauts de ligne (\n ou \r) et qu’on désire séparer tout ça en paragraphes.
Assumons donc que nous avons un texte du genre :
$texte = "Ceci est un paragraphe \n\n En voici un deuxième \n\n Et finalement un troisième.";
On s’attend donc à avoir trois paragraphes enrobés de la balise <P> plutôt qu’un seul bloc qui sera converti en de multiples <br />, probablement via la fonction nl2br(). Voici donc l’expression régulière à utiliser pour nettoyer votre texte :
$texte = preg_replace("/(\r\n)+|(\n|\r)+/", "</p><p>", $texte); $texte = '<p>' . $texte . '</p>';
Notez que si, explicitement dans votre texte, les sauts de ligne sont déjà remplacés par un <BR />, vous n’avez qu’à utiliser cette expression régulière en lieu et place de la première :
//va convertir toutes les multiples instances de <br /> ou <br> ou <BR> $texte = preg_replace("/(<br\s*\/?[>]\s*)+/i", "</p><p>", $texte ); $texte = '<p>' . $texte . '</p>';
Dans tous les cas, une fois que vous afficherez le texte en question, il ressemblera à ceci :
<P >
Ceci est un paragraphe
</P >
<P >
En voici un deuxième
</P >
<P >
Et finalement un troisième.
</P >
Commentaires Facebook
2 commentaires pour “Convertir des sauts de lignes en paragraphes”
Ajouter un commentaire
Additional comments powered by BackType
Twitter @emilegirard
Mots-clefs
Ailleurs
- 100% Hockey
- AccesOWeb
- Alsacréations
- Canadiens de Montréal
- Carl Charest
- Carl-Frédéric De Celles
- Chrystian Guy
- Debbie Rouleau
- Dominic Arpin
- Eric Baillargeon
- Famille Enfants Parents
- Goudaille
- Histoires de Geek
- Il Blogue
- Influenceur – Blogue Tendance
- Martin Petit
- Michel Dumais
- Nicolas Langelier
- Patrick Lagacé
- PhotosMax
- Samuel Parent
- Sébstien Goulet
- Sportnographe
- Stéphane Guérin
- Stéphane Jose
- Tchuvak’s Life
- Yannick Manuri
- Ze Canada

Pascal Dubreuil a dit :
Pourquoi pas tout simplement remplacer ces sauts de lignes par des :
$texte = str_replace(« \n », »",$texte);
Est-ce que tu a une objection a utiliser les BR ?
En TK, ça faisait un bout que j’étais pas aller voir ton site je pensais que c’était juste un blogue. Lache pas la patate.
Emile Girard a dit :
@ Pascal : D’un point de vue sémantique, les paragraphes d’un texte doivent être entourés de leurs balises appropriées. Le terme BR (breaking row) signifiant simplement qu’on souhaite ajouter un saut de ligne forcé (comme un espace insécable –   (non-breaking space).
Les moteurs de recherche pourront donc mieux interpréter notre contenu en appliquant cette méthode, et la mise en forme se fera avec plus de flexibilité par CSS (pensons aux :first-child qui peuvent influencer un DIV contenant plusieurs P, ou encore le text-indent qui est quasi inutile lorsqu’un texte n’est en réalité qu’un seul paragraphe).
Donc grosso modo, oui, j’ai une objection à utiliser un BR quand c’est pas le temps d’utiliser un BR… de la même manière que j’en ai pour utiliser un SPAN quand je cherche à faire un titre (H1, H2… H6) ou une TABLE quand je veux faire une grille de design
Bref, un BR c’est un saut de ligne. Deux BR, ce sont deux sauts de lignes. Ça ne devient pas comme par magie un changement de paragraphe!