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

Résolu
roymatthieu Messages postés 112 Date d'inscription jeudi 31 août 2006 Statut Membre Dernière intervention 3 février 2011 - 28 oct. 2008 à 10:26
roymatthieu Messages postés 112 Date d'inscription jeudi 31 août 2006 Statut Membre Dernière intervention 3 février 2011 - 28 oct. 2008 à 14:08
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.
A voir également:

2 réponses

roymatthieu Messages postés 112 Date d'inscription jeudi 31 août 2006 Statut Membre Dernière intervention 3 février 2011 1
28 oct. 2008 à 14:08
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
3
jreaux62 Messages postés 195 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 24 octobre 2011 32
28 oct. 2008 à 11:56
Bonjour,
essaye :
$chaine = preg_replace('#\r\n#',' ',$chaine);
0
Rejoignez-nous