Bonjour,
Sur mon site, j'ai un XML qui contient le texte de mon site dépendamment la langue choisi, ainsi que leurs balises HTML(p, ul, li,...). Je désire allez chercher ses balises telles qu'elles avec le texte, mais lorsque je vais le cherchez ($contenu->getElementsByTagName("text")->item(0)->nodeValue ), je perd mes balises et il n'y a que le texte qui apparait. J'ai essayé de convertir mes balises avec htmlentities() avant d'aller les chercher et de le reconvertir en balise avec html_entity_decode(), mais les tentatives ont échoué.
Merci d'avance pour vos conseils,
Keldus
Étudiant en programmation Web
P.S:Voici mon code:
XML:
La classe qui va chercher le XML:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 <tkd> <tkdtexte> <content lang="fr"> <title></title> <text> <p>Fondé depuis plus de 30 ans, le club Taekwondo Anjou est formé d'une équipe des plus professionnelle.</p> <p>Des instructeurs qualifiés sont à votre disposition pour des entrainements agréables et sécuritaires. Tous ont une formation de RCR et de premiers soins.</p> <p>La pratique du Taekwondo est offerte à tous. Ce sport procure un bon conditionnement physique et améliore la souplesse et la coordination des mouvements. De plus, cet art favorise la discipline, la confiance en soi et un bon équilibre de l'esprit.</p> <p>Le Taekwondo est une discipline olympique.</p> <p>Le club Taekwondo Anjou vous founit des équipements adéquats comme:</p> <ul> <li>plastron</li> <li>casque</li> <li>cible de frappe de toutes grandeurs</li> <li>cordes à danser</li> </ul> <p>Cours pour enfants de 6 ans à 12 ans, débutants et avancers.</p> <p>Cours pour adultes de 13 ans et plus, debutants et avancers.</p> <h3>Au plaisir de vous voir dans notre groupe d'élèves des plus dynamiques.</h3>Ce que je veux garder intacte </text> </content> <content lang="en"> <title>New site</title> <text>Welcome to our new Website</text> </content> </tkdtexte> </tkd>
Et la façon dont j'importe les balises dans ma page PHP:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 class TexteData extends XmlData { public function lireDonnees($lan) { $objetsTextetab = array(); $doc = $this->obtenirDocXML(); $textes = $doc->getElementsByTagName("tkd"); foreach($textes as $texte) { $lesContenus = $texte->getElementsByTagName("content"); foreach($lesContenus as $contenu) { if($contenu->getAttribute("lang")==$lan) { $titre = $contenu->getElementsByTagName("title")->item(0)->nodeValue; $texte = $contenu->getElementsByTagName("text")->item(0)->nodeValue; break; } } $objTexte = new Texte($titre,$texte); $objetsTextetab[] = $objTexte; } return $objetsTextetab; } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 include("classes/texte.cls.php"); include("classes/texte_data.cls.php"); $textesData = new TexteData("data/texteIndex.xml"); $textes = $textesData->lireDonnees($lan); foreach($textes as $texte) { echo $texte->getTexte(); }
Partager