Supprimer certains retour à la ligne et pas d'autres.
8 messages
• Page 1 sur 1
-

Meeuuuhhh - WRInaute passionné

- Messages: 2046
- Inscription: 8 Jan 2007
Supprimer certains retour à la ligne et pas d'autres.
Bonjour,
J'ai un fichier text. Les définitions se présentent ainsi quand on fait un copié/collé (sinon tout est tassé, sans aucun retour, les saut de ligne sont marqués par des espèces de carré) :
Alors là mon problème, c'est que vous voyez qu'il y a deux types de retour : les retour normaux, par exemple entre le titre (:A), les catégories (#1.np) et puis tout en bas, pour la date.
Et puis il y a des retours charriots impromptus, en plein milieu de phrase. Par exemple à la première ligne, il y a un retour juste après "c'est". Et en dessous, il y en a un juste après "particulier" etc...
Or, je veux conserver les premiers saut de ligne, mais pas les retour à la ligne impromptus en plein milieu de phrase.
Si je fais ça : j'obtiens très exactement à l'affichage, le résultat que vous voyez au dessus et que je ne veux pas :
Si je ne fais pas de nl2br(), alors tout est tassé, sans aucun saut de ligne nulle part.
Comment faire svp :question:
J'ai un fichier text. Les définitions se présentent ainsi quand on fait un copié/collé (sinon tout est tassé, sans aucun retour, les saut de ligne sont marqués par des espèces de carré) :
- Code: Tout sélectionner
:A
# 1. np.
{{MSDOS{{DISQUE
Quand cette lettre est suivie de « : », c'est
l'identifiant habituel du {lecteur{ de {disquette{s, en particulier
sous {MS-DOS{. Exemple : <i>« Copie tout sur le lecteur
A: ! »</i>.
# 2. ext.
{{TYPFICH{{EXT
Extension du nom d'un fichier contenant du code source {Ada{.
# 3. sg.
{{INTERNET
Address. Type d'enregistrement {DNS{ contenant une adresse d'un hôte
et son nom réseau correspondant.
(09-11-2006).
Alors là mon problème, c'est que vous voyez qu'il y a deux types de retour : les retour normaux, par exemple entre le titre (:A), les catégories (#1.np) et puis tout en bas, pour la date.
Et puis il y a des retours charriots impromptus, en plein milieu de phrase. Par exemple à la première ligne, il y a un retour juste après "c'est". Et en dessous, il y en a un juste après "particulier" etc...
Or, je veux conserver les premiers saut de ligne, mais pas les retour à la ligne impromptus en plein milieu de phrase.
Si je fais ça : j'obtiens très exactement à l'affichage, le résultat que vous voyez au dessus et que je ne veux pas :
- Code: Tout sélectionner
$definition=nl2br($definition);
Si je ne fais pas de nl2br(), alors tout est tassé, sans aucun saut de ligne nulle part.
Comment faire svp :question:
-

Meeuuuhhh - WRInaute passionné

- Messages: 2046
- Inscription: 8 Jan 2007
Je précise que les sauts de ligne à conserver sont indiqués dans le fichier TXT par un rectangle verticale, je ne connais pas le nom de ce symbole (si je veux le copier/coller ici, ça fait un saut de ligne).
Pour les retours à la ligne en plein milieu de phrase, ils ne sont indiqués par rien.
Pour les retours à la ligne en plein milieu de phrase, ils ne sont indiqués par rien.
-

julienr - WRInaute impliqué

- Messages: 913
- Inscription: 5 Aoû 2003
salut,
je pense que les "carrés" sont des "\n"
alors qu'un retour à la ligne sous windows est "\r\n"
alors comme çà et à tout hasard :
je pense que les "carrés" sont des "\n"
alors qu'un retour à la ligne sous windows est "\r\n"
alors comme çà et à tout hasard :
- Code: Tout sélectionner
$definition = str_replace( "\r\n", "", $definition );
$definition = str_replace( "\n", "\r\n", $definition );
-

Meeuuuhhh - WRInaute passionné

- Messages: 2046
- Inscription: 8 Jan 2007
Salut julienr,
En fait j'ai regardé le fichier txt, qui est un peu touffu, et tous les retours à la ligne, y compris ceux que je qualifie d'impromptus, sont marqués par le caré en question (en fait un petit rectangle horizontal). Je ne sais pas pourquoi c'est comme ça.
ça va donc être assez embettant de faire le tri, je crois...
En fait j'ai regardé le fichier txt, qui est un peu touffu, et tous les retours à la ligne, y compris ceux que je qualifie d'impromptus, sont marqués par le caré en question (en fait un petit rectangle horizontal). Je ne sais pas pourquoi c'est comme ça.
ça va donc être assez embettant de faire le tri, je crois...
-

julienr - WRInaute impliqué

- Messages: 913
- Inscription: 5 Aoû 2003
moi je dis ton fichier faut le passer à l'éditeur hexa
mais je suis prêt à parier que c'est du 0x0A "\n" et 0x0D "\r"
mais je suis prêt à parier que c'est du 0x0A "\n" et 0x0D "\r"
8 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Google propose en option un lien pour supprimer un site des résultats - 23-09-2005
- Google Calendar API - 20-04-2006
- Google attaqué en justice - 22-10-2002
- Outil officiel de suppression de pages de l'index Google - 18-04-2007
- Fin du programme de parrainages AdSense et prochain réseau d'affiliation Google - 01-07-2008
- Plug-in d'opt-out de Google Analytics - 19-03-2010
- Personnalisation des résultats Google pour tous les utilisateurs - 14-12-2009
- Rumeur : Google pourrait racheter Adscape Media - 22-01-2007
Consultez la description détaillée des produits ou services de Google suivants : Google Apps for your Domain
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


