begin process at 2010 03 21 13:36:20
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

[DOM xml PHP5] entités html


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[DOM xml PHP5] entités html

mardi 12 décembre 2006 à 13:39:28 | [DOM xml PHP5] entités html

the_mouette

Bonjour tout le monde,

Je suis en train de coder mon moteur de template (pas très original tout ca...) basé sur du XML. Jusque là ca marche. Seulement, dans les pages que j'utilise pour tester toutes les fonctionnalités, il y a des xHTML entities (genre & nbsp;) et le parseur DOM de PHP5 est facilement vexé.
Pas de problème me direz vous : " plutôt que loadXML, utilise loadHTMLFile, et tout se passera bien ! "

En fait le problème est que j'ai aussi définit un espace de nom pour certaines de mes balises (avec le schéma valide correspondant et tout et tout, oui monsieur ;) ) donc je ne peux plus charger en HTML !

J'ai trouvé deux solutions, mais aucune des deux ne me convient :
  • Ne pas mettre d'entités (je ne vous explique pas pourquoi ca ne me va pas)
  • mettre le membre resolveExternals à true (et donc charger le DTD à partir du site du W3C

Le second cas fait bien que tout marche, mais le temps de chargement d'une simple page HTML prend entre 5 et 20secondes...
un hack est proposé ici mais il suppose que l'on ait la main sur le serveur !
je me suis déjà passé d'un parseur SAX car il n'était pas dans l'installe de base, alors mettre des fichiers dans /etc/xml/, j'aimerai éviter, et puis ca ralentit toujours...

la solution d'ajouter les entités à tous mes fichiers XML, pourquoi pas, mais je vais devoir créer un générateur plus rapidement que prévu, parce que j'ai déjà 2 schémas XML dans la balise racine, alors ca va vite faire du 20 lignes sur chaque page... et puis si mon template est composé de 10 fichiers, ca risque de vite ralentir le moteur... L'idéal serait de définir ces entités à la création de mon objet DomDocument mais je n'ai pas trouvé comment faire...

Quelqu'un a une solution ?
...
une bonne idée ?
...
une idée ?
...
10 balles ? ;)

A votre bon coeur M'sieur dame !
mardi 12 décembre 2006 à 15:49:07 | Re : [DOM xml PHP5] entités html

jean84

Hello

Arf j'ai eu le meme probleme... jamais comrpis pourquoi d'ailleurs... y avait une astuce sur php4 qui consistait a mettre un str_replace()... pas chouette je sais, mais sa me permettait d'afficher mes entitees correctement. le contenu etait vierge de toutes balises il n'y aavit que le texte que je preformatte.
Clair que si quelqu'un a une soluce, sa serait mega-cool :-)

@+
mardi 12 décembre 2006 à 15:58:57 | Re : [DOM xml PHP5] entités html

the_mouette

salut,
j'ai trouvé un truc temporaire : je remplace mes entités pas leur code ISO dans les templates ou les chaines XML.
l'idée c'est de ne pas perdre de temps de calcul sur l'affichage, alors je ne cherche que dans les chaines construites par l'utilisateur, je me dit que mon générateur de templates devra faire ca de facon automatique...

maintenant si vous avez mieux comme solution, je prends !

au passage, je cherche une fonction qui fait ca toute seule (html entity ou caractère simple -> code iso), si vous avez ca ce serait sympa, sinon, je continue d'éplucher la doc php...
+
mardi 12 décembre 2006 à 16:09:20 | Re : [DOM xml PHP5] entités html

jean84

Ah pas bete sa ... je me disais aussi. Je comprenais pas les caracteres de la DTD genere par dreamweaver (quand on cree un nouveau document xml).
Pour la fonction, si la doc est explicite, bah faudra la faire a la main (comme quoi mon str_replace() va reprendre du service ^^).
Bah allez je m'y colle....

@+


Cette discussion est classée dans : html, xml, dom, php5, entités


Répondre à ce message

Sujets en rapport avec ce message

Problème XML avec PHP5 [ par Kentobar ] Tout d'abord,je suis vraiment débutant en PHP. Je veux faire des recherches dans un document XML en utilisant SAXY et afficher le résultat.J'ai vraime XML == MySQL ? [ par Teclis01 ] Bonjour, Je me suis lancé il y a peu dans la classe DOM XML mais il y a quelqques chose qui me parait vraiment etrange ...J'ai entendu dire et me suis Dom XML [ par syndrael ] Bonjour Puis faire du DOM XML sous Linux ? Mon code sera-t-il 100% compatible avec celui de mon site ki tourne sous Windows ? Merci de me rassurer. S impossible de sauvegarder les données (php et XML) [ par vacknov ] Bonjour;J'ai le message d'erreur Fatal error: Call to a member function appendChild() on a non-object in C:\wamp\www\newsxml.php on line 30lorsque Je Du HTML et PHP dans du XML [ par grandvizir ] Bonjour, J'ai des chaînes de caractères où de l'HTML et du code PHP apparaissent clairement sans aucune substitution. Exemple :$MaChaine = '<?php pb domxml [ par djcal007 ] salut, j'ai un problème pour ajouter,grâce à domxml, de nouveaux noeuds : voila mon fichier xml:       <service fct="medint" nom="M&#xE9;dec PHP XML HTML et FireFox [ par liteulkevin ] Bonsoir, C'est encore moi. Mon soucis est le suivant : J'appelle une page php qui affiche des fichiers xml contenant des graphiques à l'aide de Fla [DOM] CDATA indésirable [ par the_mouette ] Bonjour, Je viens de changer de serveur (serveur dédié sous debian, paquets PHP 5.2.0 dotdeb), et depuis le générateur XML pose problème. Je crée ma p Formater une variable [ par samourai_alex ] BonjourDans une variable, j'ai une chaine que j'ai formaté pour que les éléments spéciaux deviennent des entités HTML. (htmlspecialchars). Tout ca fon Formulaire html/php chargé par Ajax [ par studiolapomme ] Error convertoring HTML to XHTML: System.ArgumentException: La chaîne vide '' ne constitue pas un nom valide. à System.Xml.XmlTextWriter.ValidateNa


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,172 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales