Page 1 sur 1

import xml et saut de ligne imaginaire

Posté : 04 mai 2011, 18:35
par damien_55
J'utilise simple_xml qui fonctionne bien pour importer du contenu dans ma base de données. Cependant lorsque j'importe le contenu, il me sort des saut deligne imaginaire qui n'exite pas dans le pargraphe du xml.

Il me sort ça en import:

Les prévisions pour le maïs indiquent que les hybrids transgéniques
occuperont 57,2 % de la superficie totale, si l'on compte la récolte d'été et
la seconde récolte d'hiver. Pour la récolte d'été de maïs, la superficie
cultivée avec des semis transgéniques résistants aux insects représente 44,4
% de la superficie totale.

Au lieu de:

Les prévisions pour le maïs indiquent que les hybrids transgéniques occuperont 57,2 % de la superficie totale, si l'on compte la récolte d'été et la seconde récolte d'hiver. Pour la récolte d'été de maïs, la superficie cultivée avec des semis transgéniques résistants aux insects représente 44,4 % de la superficie totale.

Voici le code que j'utilise pour l'import 5 anoter que je passe par un formulaire:
$SubHeadLine=$NewsLines->{"SubHeadLine"};
    echo'VERIF SubHeadLine : <br/>
     <textarea name="SubHeadLine" style="width: 100%; height: 100px">'.$SubHeadLine.'</textarea><br /><br />';
      }
Quelqu'un a une idée pour supprimer ces saut de ligne qui n'existe pas ?

Re: import xml et saut de ligne imaginaire

Posté : 04 mai 2011, 18:49
par Genova
Salut ajoute dans ton code :
$SubHeadLine = str_replace(array("\r\n", "\n"), array(' ', ' '), $SubHeadLine);
Tu as probablement des \n qui trainent dans tes cdata :)

Re: import xml et saut de ligne imaginaire

Posté : 04 mai 2011, 20:18
par Mazarini
Bonjour,

A mon avis, il n'y a pas vraiment de saut de ligne (à vérifier dans le source de la page.

L'utilisation de WRAP="OFF" dans ton tag textarea peut changer cette impression. Cependant je ne suis pas sur que le résultat soit plus pratique.

Re: import xml et saut de ligne imaginaire

Posté : 04 mai 2011, 20:19
par damien_55
ça a marcher. super merci.

Par contre lorsque je récupère mes valeurs, entre <p> > </p> par exemple, il se trouve qu'il ne prende pas en considération du texte comme:

<a href="http://www.xxxx.com.br">http://www.xxxxxx.com.br</a>.

Est ce normal ? et y a t-il un moyen de prendre en considération ce contenu?

Re: import xml et saut de ligne imaginaire

Posté : 04 mai 2011, 20:38
par Mazarini
Bonjour,

Je ne suis pas sur d'avoir bien compris.

Dans le cas de de problème, il est bien de regarder le source HTML. Est ce que ton problème ne vient pas de la transformation de < en < ou quelque chose dans le genre ?

Il faut savoir que aussi que le textarea présente du texte sans prendre en compte le html. Je ne connais pas le comportement lorsqu'il y a un tag HTML dans le contenu (en particulier </textarea>)

Eventuellement regarde du coté de http://fr.php.net/manual/fr/function.ht ... lchars.php et des fonctions associés

Re: import xml et saut de ligne imaginaire

Posté : 04 mai 2011, 22:25
par damien_55
Re,

En fait pour etre plus clair, j'utilise simple_xml pour parser mon xml. ça ça marche. sauf dans le cas où j'ai:

Code : Tout sélectionner

<p> blalbla blabla <a href="http://www.xxxx.com.br">http://www.xxxxxx.com.br</a>.</p>
Dans ce cas simple_xml me retourne seulement:

blalbla blabla qui se trouve entre les <p> ce que je lui demande mais pas la chaine <a href="http://www.xxxx.com.br">http://www.xxxxxx.com.br</a>. ?

Est ce normal ? Comment lui demander qu'il me retourne tous ce qui se trouve entre le <p>.

Re: import xml et saut de ligne imaginaire

Posté : 04 mai 2011, 22:28
par Genova
Tu ne peux pas avec simplexml (d'où son nom, cette classe n'est pas faîte pour parser des structures complexes). Je te conseil d'utiliser plutôt le parser XML standard de PHP (qui est plus chiant à utiliser par contre) http://fr.php.net/manual/fr/function.xm ... create.php ou sinon utilise le parser DOM, je crois qu'il gère ces cas de figure.