PHP et retours chariot dans variables

Le
David
Bonjour,

J'ai un truc qui m'agace et que je n'arrive pas à solutionner.
J'ai un flux de texte provenant d'une base de données que j'affecte à
une variable.

Dans ce flux texte, il peut y arriver que il y ait plusieurs retours
chariots alors que cela n'est pas nécessaire.

Dans ma tête (il y a du monde dedans, mais bon), un retour chariot
equivant à un retour à la ligne, 2 à un saut de paragraphe. Donc si il
y en a plus que deux (genre 5 d'affilée), je veux les remplacer par
uniquement 2 (pour avoir un simple saut de paragraphe).

Et là, je sèche !

J'ai tenté avec des expressions régulières mais je ne suis pas très
familier avec cela.

Auriez vous une piste à me communiquer ?

David
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Olivier Miakinen
Le #21480841
Bonjour,

Le 02/04/2010 01:09, David a écrit :

J'ai un truc qui m'agace et que je n'arrive pas à solutionner.
J'ai un flux de texte provenant d'une base de données que j'affecte à
une variable.

Dans ce flux texte, il peut y arriver que il y ait plusieurs retours
chariots alors que cela n'est pas nécessaire.

Dans ma tête (il y a du monde dedans, mais bon), un retour chariot
equivant à un retour à la ligne, 2 à un saut de paragraphe. Donc si il
y en a plus que deux (genre 5 d'affilée), je veux les remplacer par
uniquement 2 (pour avoir un simple saut de paragraphe).

Et là, je sèche !

J'ai tenté avec des expressions régulières mais je ne suis pas très
familier avec cela.



En supposant que le « retour chariot » est représenté par un n seul,
n'importe laquelle des expressions suivantes devrait le faire :

$output = preg_replace("/nnn*/", "nn", $input);

$output = preg_replace("/nn+/", "nn", $input);

$output = preg_replace("/n{2,}/", "nn", $input);

Auriez vous une piste à me communiquer ?



Oui : fr.comp.lang.regexp. ;-)

--
Olivier Miakinen
Publicité
Poster une réponse
Anonyme