Forum d'entraide PHPFrance

Venez poser vos questions PHP, MySQL, HTML, CSS, Javascript, Gestion de serveurs à la communauté PHPfrance

Vers le contenu

» Masquer les résultats de la recherche

Recherche dynamique PHPfrance

  1. Effectuez une recherche, les résultats s'afficheront dynamiquement ici.

page xml : retour à la ligne

Principalement pour son interaction avec PHP.

page xml : retour à la ligne

Messagepar kluck 21 Fév 2008, 03:19

Bonjour,

j'ai un probleme avec l'affichage de mon flux rss si mon texte contient des
. le xml ne semble pas l'interpréter.
Lors de l'ajout d'une news je fais un nl2br sur ma variable qui va contenir le texte

$contenu =nl2br($_POST['contenu']); //j'utilise un textarea


savez vous comment faire pour gérer les retours à la ligne sur une page xml ?
ah oui autre précision si on un htmlentities sur la variable contenu et que l'on tape un "é" ben la page refuse de s'afficher donc j'ai laissé tomber cette fonction.
kluck
Maitre du phpinfo()
 
Messages: 37
Inscription: 18 Jan 2007, 21:32

Messagepar zeus 21 Fév 2008, 09:00

Quelle est l'aspect de ton flux XML ?
Est-ce que tu utilises des balises CDATA ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer
Avatar de l’utilisateur
zeus
Administrateur PHPfrance
Administrateur PHPfrance
 
Messages: 13159
Inscription: 22 Avr 2005, 11:11
Localisation: Lyon

Messagepar kluck 21 Fév 2008, 18:26

voici on flux, non je n'ai pas de balise CDATA.
Je pense que peut etre que le problème ne vient pas du flux mais du textarea que j'utilise.

Admettons qu'une personne tape à l'infini un caractère sans taper sur la touche entrée, et bien dans le flux rss le texte va dépasser la bordure blanche qui est couramment utilisée.Par contre si cette personne tape sur entrée, le texte reste dans l'espace réservé au flux( partie blanche).

Est ce qu'il aurait un moyen pour ne pas que le texte dépasse la bordure blanche du flux rss ?
Une propriété à mettre sur le textarea peut etre ?


 $xml = '<?xml version="1.0" encoding="UTF-8"?>';
 $xml .= '<rss version="2.0">';
 $xml .= '<channel>';
 $xml .= '<title>Titre du flux</title>';
 $xml .= '<link>http://www.monsite.com</link>';
 $xml .= '<description>Description du flux</description>';
 $xml .= '<copyright> MonSite 2005</copyright>';
 $xml .= '<language>fr</language>';
 $xml .= '<image>';
 $xml .= ' <title>Titre du flux</title>';
 $xml .= ' <url>chemin absolu de l\'image http://.... (pas plus de 88px de haut)</url>';
 $xml .= ' <link>http://www.monsite.com</link>';
 $xml .= '</image>';
 $today= date("D, d M Y H:i:s +0100");
 $xml .= '<pubDate>'.$today.'</pubDate>';
 $xml .= '<item>';
 $xml .= '<title>'.$titre.'</title>';
 $xml .= '<link>'.$adresse.'</link>';
 $xml .= '<description>'.$contenu.'</description>';
 $xml .= '<pubDate>'.$datephp.'</pubDate>';
 $xml .= '</item>';
 $xml .= '</channel>';
 $xml .= '</rss>';

kluck
Maitre du phpinfo()
 
Messages: 37
Inscription: 18 Jan 2007, 21:32

Messagepar Hubert Roksor 21 Fév 2008, 19:35

Je crois qu'il y a méprise, un RSS n'a pas de représentation graphique. RSS n'utilise pas HTML et
n'a aucune signification en XML. Les sauts de lignes, en XML, sont représentés par... des sauts de lignes. À toi ensuite d'utiliser nl2br() si tu veux les convertir et les afficher en HTML.

Pareil pour cette bordure blanche, comment est-elle créée ? Une chose est sûre, RSS n'a aucun contrôle sur la façon dont il est affiché.
Hubert Roksor
Administrateur PHPfrance
Administrateur PHPfrance
 
Messages: 3090
Inscription: 07 Fév 2005, 19:27

Messagepar Victor BRITO 21 Fév 2008, 23:32

kluck a écrit:
 $xml = '<?xml version="1.0" encoding="UTF-8"?>';
 $xml .= '<rss version="2.0">';
 $xml .= '<channel>';
 $xml .= '<title>Titre du flux</title>';
 $xml .= '<link>http://www.monsite.com</link>';
 $xml .= '<description>Description du flux</description>';
 $xml .= '<copyright> MonSite 2005</copyright>';
 $xml .= '<language>fr</language>';
 $xml .= '<image>';
 $xml .= ' <title>Titre du flux</title>';
 $xml .= ' <url>chemin absolu de l\'image http://.... (pas plus de 88px de haut)</url>';
 $xml .= ' <link>http://www.monsite.com</link>';
 $xml .= '</image>';
 $today= date("D, d M Y H:i:s +0100");
 $xml .= '<pubDate>'.$today.'</pubDate>';
 $xml .= '<item>';
 $xml .= '<title>'.$titre.'</title>';
 $xml .= '<link>'.$adresse.'</link>';
 $xml .= '<description>'.$contenu.'</description>';
 $xml .= '<pubDate>'.$datephp.'</pubDate>';
 $xml .= '</item>';
 $xml .= '</channel>';
 $xml .= '</rss>';


Avec un code pareil, ce que tu peux faire, c'est ajouter à la fin de chaque chaîne une chaîne à doubles guillemets contenant le marqueur de retour à la ligne, comme suit :
Syntaxe: [ Télécharger ] [ Masquer ]
Code php

$xml = '<?xml version="1.0" encoding="UTF-8"?>'."\n";

$xml .= '<rss version="2.0">'."\n";

// etc.
Victor BRITO
Ganesha
 
Messages: 2937
Inscription: 07 Mar 2006, 16:36

Messagepar ptimushu 17 Nov 2008, 12:39

kluck a écrit:voici on flux, non je n'ai pas de balise CDATA.
Je pense que peut etre que le problème ne vient pas du flux mais du textarea que j'utilise.

Admettons qu'une personne tape à l'infini un caractère sans taper sur la touche entrée, et bien dans le flux rss le texte va dépasser la bordure blanche qui est couramment utilisée.Par contre si cette personne tape sur entrée, le texte reste dans l'espace réservé au flux( partie blanche).

Est ce qu'il aurait un moyen pour ne pas que le texte dépasse la bordure blanche du flux rss ?
Une propriété à mettre sur le textarea peut etre ?


 $xml = '<?xml version="1.0" encoding="UTF-8"?>';
 $xml .= '<rss version="2.0">';
 $xml .= '<channel>';
 $xml .= '<title>Titre du flux</title>';
 $xml .= '<link>http://www.monsite.com</link>';
 $xml .= '<description>Description du flux</description>';
 $xml .= '<copyright> MonSite 2005</copyright>';
 $xml .= '<language>fr</language>';
 $xml .= '<image>';
 $xml .= ' <title>Titre du flux</title>';
 $xml .= ' <url>chemin absolu de l\'image http://.... (pas plus de 88px de haut)</url>';
 $xml .= ' <link>http://www.monsite.com</link>';
 $xml .= '</image>';
 $today= date("D, d M Y H:i:s +0100");
 $xml .= '<pubDate>'.$today.'</pubDate>';
 $xml .= '<item>';
 $xml .= '<title>'.$titre.'</title>';
 $xml .= '<link>'.$adresse.'</link>';
 $xml .= '<description>'.$contenu.'</description>';
 $xml .= '<pubDate>'.$datephp.'</pubDate>';
 $xml .= '</item>';
 $xml .= '</channel>';
 $xml .= '</rss>';



utilise <![CDATA[<br >]]> qui creer des
sans générer d'erreur
ptimushu
 

Messagepar Victor BRITO 17 Nov 2008, 13:43

Puisque le XML ressemble à du RSS 2.0, on peut, à la rigueur, se contenter des entités HTML : &lt;br /&gt; pour
.
Victor BRITO
Ganesha
 
Messages: 2937
Inscription: 07 Mar 2006, 16:36

Messagepar Hywan 18 Nov 2008, 02:57

Hey :),
kluck a écrit:
$xml .= '<rss version="2.0">'
Victor BRITO a écrit:Puisque le XML ressemble à du RSS 2.0 […]
Oh ! Il est fort Victor … très fort ;-).
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).
Hywan
ViPHP
ViPHP
 
Messages: 4669
Inscription: 03 Mai 2005, 21:01
Localisation: France & Suisse


Retourner vers XML

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités