Compliqué -> Gros soucis de saut de ligne dans un chaine de caractères. [Résolu]

Signaler
Messages postés
112
Date d'inscription
jeudi 31 août 2006
Statut
Membre
Dernière intervention
3 février 2011
-
Messages postés
112
Date d'inscription
jeudi 31 août 2006
Statut
Membre
Dernière intervention
3 février 2011
-
Chez membre de la famille "j'adore me prendre la tête devant mon écran",

Je fais appel à votre aide...

Je vous explique :

Dans le cadre de mon travail, je dois aller réupérer certaine informations présente dans un fichier html qui contient plusieurs articles.(Ce fichier nous est envoyé de l'extérieur tel quel)... j'upload le fichier sur un serveur et je l'attaque en php.

Ce fichier est super mal fait et il n'y existe pas beaucoup de cohérence au niveau de la hiérarchisation des articles.
Aucune norme d'encodage de caractère n'est définie.

En fin soit...

Mon problème est le suivant :

Je dois aller récupérer la chaine de caractère entre les balises <title></title>

J'arrive à récupérer chaque titre sans aucun soucis MAIS dans la source certains titres sont écrit comme ceci :

<title>
Quel est
le sch&eacute;ma de l'accord conclu dimanche ?
Pourquoi a-t-il fallu
agir si vite ?
</title>

au lieu de :

<title>
Quel est le sch&eacute;ma de l'accord conclu dimanche ? Pourquoi a-t-il fallu agir si vite ?
</title>

Donc quand je récupère la chaine et que je l'affiche en html (via echo de php) ou que je l'insère dans ma bdd j'obtiens ceci :

Quel estle schéma de l'accord conclu dimanche ?Pourquoi a-t-il falluagir si vite ?

alors que dans le document html initial, celà s'affiche correctement...

Les sauts de ligne se suppriment et tous est collé bout à bout. J'aimerai mettre un espace à la place de ces retour à ligne.

Néanmoins, j'ai essayé de remplacer les \n par des espaces et cela ne fonctionne pas car en réalité, quand je recherche un \n , celui-ci me dis qu'il n'en existe pas dans la chaine.

Pouvez vous m'aider.

Merci à vous.

2 réponses

Messages postés
112
Date d'inscription
jeudi 31 août 2006
Statut
Membre
Dernière intervention
3 février 2011

Bonjour,

Merci de ta contribution...

La solution donnée ne fonctionne malheureusement pas mais j'ai trouvé !

Lors de l'affichage, j'utilise ceci

$titre = nl2br($ma_variable);
$titre = str_replace('
',' ',$titre);

Et ca fonctionne...

Merci quand même à toi d'avoir pris le temps de chercher une solution
Messages postés
195
Date d'inscription
vendredi 13 juin 2008
Statut
Membre
Dernière intervention
24 octobre 2011
20
Bonjour,
essaye :
$chaine = preg_replace('#\r\n#',' ',$chaine);