Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2584 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  DOM et 1and1

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

DOM et 1and1

n°1616295
thekiller2​42
Posté le 27-09-2007 à 19:18:36  profilanswer
 

Hello :) ,
 
J'ai un petit problème avec DOM et mon compte 1and1.
Un de mes codeurs à créé un parseur de xml avec dom, dans l'objectif de créer un langage comme le zcode.
 
Le script marche nickel en local, mais sur mon hébergement 1and1, je script bug quand on veut parser des attributs :
par ex : Code : XML  

Code :
  1. <style couleur='rouge'>texte</style>


Par contre, il marche normalement avec :
Code : XML  

Code :
  1. <gras>texte</gras>


 
 
 
Bref, c'est assez bisard. Voici le phpinfo() de mon site :
http://www.robotix.fr/phpinfo.php
 
J'ai remarqué que la version de libxml, la 2.6.21 était antérieure de celle de easyphp.
 
Peut-être que le problème vient de la...
 
Voici mon code :
Code : PHP  
   

Code :
  1. <?php
  2. error_reporting(E_ALL ^ E_NOTICE);
  3. ////////////////////////////////////////////////////////
  4. //----------------CREE PAR HINOMI MOKUZO----------------//
  5. //-------------------------LE 22/09/07-------------------------//
  6. //------------------------Team MOKUZO------------------------//
  7. ////////////////////////////////////////////////////////
  8. function code($texte) {
  9.         $code_xml = new DomDocument();
  10.         $res = '';
  11.         $code_xml->load('balises.xml');
  12.      
  13.         $id = 0;
  14.      
  15.         for($x = 0 ; $x < strlen($texte) ; $x++ ) {
  16.                 preg_match("#<(\w*)((?: \w+='[\w. _/:-]+')*)>#", $texte, $balise);
  17.                 if (preg_match("#".$balise[0]."(.*)</".$balise[1].">#isU", $texte, $baliseContain)) {
  18.                         $balises[$id]=array("nom"=>$balise[1], "params"=>$balise[2]);
  19.                         $texte = preg_replace("#".$baliseContain[0]."#isU", "[Balise".$id."]".$baliseContain[1]."[EndBalise".$id."]", $texte);
  20.                      
  21.                         $params = split("' ", trim($balise[2]));
  22.                         $id2 = 0;
  23.                         foreach($params as $cle=>$value) {
  24.                                 if (preg_match("#(\w+)='([\w. _/:-]+)#", $value, $param)) {
  25.                                         $parametres[$id2]=array("nom"=>$param[1], "value"=>$param[2]);
  26.                                         $id2++;
  27.                                 }
  28.                                 else {
  29.                                         $parametres="";
  30.                                 }
  31.                         }
  32.                         $balises[$id]['params']=$parametres;
  33.                         $id++;
  34.                 }
  35.                 else {
  36.                         $texte = str_replace("<".$balise[1].">", "&lt;".$balise[1]."&gt;", $texte);
  37.                 }
  38.         }
  39.      
  40.         $texte = preg_replace("#</(.+)>#isU", "&lt;/$1&gt;", $texte);
  41.      
  42.         $listeBalise = $code_xml->getElementsByTagName('balise');
  43.         foreach ($listeBalise as $balise) {
  44.                 $codeBalise[$balise->getAttribute('nom')]=array("code"=>$balise->getElementsByTagName('nom')->item(0)->nodeValue);
  45.                 $params = $balise->getElementsByTagName('param');
  46.                 foreach ($params as $param) {
  47.                         $codeBalise[$balise->getAttribute('nom')][$param->getAttribute('nom')]=$param->nodeValue;
  48.                 }
  49.                 $codeBalise[$balise->getAttribute('nom')]['classe']=$balise->getElementsByTagName('class')->item(0)->nodeValue;
  50.         }
  51.      
  52.         $listKeys = $code_xml->getElementsByTagName('key');
  53.         foreach ($listKeys as $keys) {
  54.                 $listeKeys[$keys->getAttribute('nom')]=$keys->nodeValue;
  55.         }
  56.      
  57.         for ($x = 0 ; $x < $id ; $x++) {
  58.                 $parametres = "";
  59.                 if (array_key_exists($balises[$x]['nom'], $codeBalise)) {
  60.                         $code = $codeBalise[$balises[$x]['nom']]['code'];
  61.                         if ($balises[$x]['params']!="" ) {
  62.                                 foreach ($balises[$x]['params'] as $cle=>$paramArray) {
  63.                                         if (array_key_exists($paramArray['nom'], $codeBalise[$balises[$x]['nom']])) {
  64.                                                 $parametres.=" ".$codeBalise[$balises[$x]['nom']][$paramArray['nom']]."='".((array_key_exists($paramArray['value'], $listeKeys))?$listeKeys[$paramArray['value']]:$paramArray['value'])."'";
  65.                                         }
  66.                                 }
  67.                         }
  68.                         if ($codeBalise[$balises[$x]['nom']]!="" ) $parametres.=" class='".$codeBalise[$balises[$x]['nom']]['classe']."'";
  69.                         $texte = preg_replace("#\[Balise".$x."\](.*)\[EndBalise".$x."\]#isU", "<".$code.$parametres.">$1</".$code.">", $texte);
  70.                 }
  71.                 else {
  72.                         $code = $balises[$x]['nom'];
  73.                         $texte = preg_replace("#\[Balise".$x."\](.*)\[EndBalise".$x."\]#isU", "&lt;".$code."&gt;$1&lt;/".$code."&gt;", $texte);
  74.                 }
  75.         }
  76.         return $texte;
  77. }
  78. $texte = "<image source='http://www.ressourceweb.com/templates/default/im/haut.gif'></image><lien cible='nouvelle page' url='http://www.google.fr'>google</lien>";
  79. echo code($texte);
  80. ?>


 
balises.php
Code : XML  

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <code>
  3.         <balises>
  4.                 <balise nom="gras">
  5.                         <nom>b</nom>
  6.                 </balise>
  7.              
  8.      
  9.              
  10.                 <balise nom="style">
  11.                         <nom>font</nom>
  12.                         <param nom="couleur">color</param>
  13.                      
  14.                 </balise>
  15.              
  16.              
  17.      
  18.              
  19.              
  20.         </balises>
  21.         <keys>
  22.                 <key nom="rouge">red</key>
  23.                 <key nom="jaune">yellow</key>
  24.              
  25.         </keys>
  26. </code>


 
 
J'ai envoyé un mail à 1and1, mais ils sont incapables de me répondre.
Vous êtes mon dernier espoir :p .
Merci d'avance.
@++

mood
Publicité
Posté le 27-09-2007 à 19:18:36  profilanswer
 

n°1616776
thekiller2​42
Posté le 28-09-2007 à 17:48:59  profilanswer
 

UP


---------------
http://www.robotix.fr
n°1616811
sielfried
Posté le 28-09-2007 à 20:58:10  profilanswer
 

Deux choses :
- ça a l'air d'être une manie sur ce forum de dire que "ça ne marche pas" ou que "ça bug"... essaie d'être un minimum précis quand tu décris un problème et que tu souhaites être aidé... [:pingouino]  ;
- au lieu de poster ton code complet (à moins qu'il soit de petite taille), essaie d'abord de réduire le problème à un exemple minimal (quelques lignes de code si possible), et poste l'exemple, parce que personne ne risque d'avoir envie de lire/comprendre tout ça.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1617110
thekiller2​42
Posté le 30-09-2007 à 12:38:56  profilanswer
 

Hello,
Ca fait longtemps que je cherche d'où ça vient, mais je n'ai jamais trouvé.
J'ai envoyé un mail à 1and1, ils sont incapables de me répondre.
 
J'ai essayé de simplifié au max mon code.
Vous pouvez tester le script ici :  
http://www.robotix.fr/zcode
 
Pour le faire bugger :  
<style couleur='rouge'>texte</style>
 
Tout marche en local :p .
Voilà ;).
En espérant être clair.


---------------
http://www.robotix.fr
n°1617478
thekiller2​42
Posté le 01-10-2007 à 16:55:28  profilanswer
 

UP


---------------
http://www.robotix.fr
n°1617491
anapajari
s/travail/glanding on hfr/gs;
Posté le 01-10-2007 à 17:10:17  profilanswer
 

thekiller242 a écrit :

J'ai essayé de simplifié au max mon code.
Vous pouvez tester le script ici :  
http://www.robotix.fr/zcode


Ah bin là on y voit tout de suite plus clair. Grace à mon décompresseur-interpreteur PHP mental je peux te dire que le problème vient de la ligne 12 de ton index.php.

n°1617520
thekiller2​42
Posté le 01-10-2007 à 17:36:40  profilanswer
 

...
Faut parce qu'a la ligen 12, y'a :  
 $code_xml->load('balises.xml');
 
Or, le script marche avec :  
<gras>test</gras>
Donc, il charge correctement le fichier.
Faut revoir ton décompresseur-interpreteur PHP^^.


---------------
http://www.robotix.fr
n°1617546
sielfried
Posté le 01-10-2007 à 17:56:59  profilanswer
 

Bon, je tente ma chance. [:petrus75]  
 
Ligne 18 ??


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1617576
thekiller2​42
Posté le 01-10-2007 à 18:36:25  profilanswer
 

Ba pourquoi ça marcherait en local si ça merderais en ligne 18 XD?


---------------
http://www.robotix.fr
n°1617701
anapajari
s/travail/glanding on hfr/gs;
Posté le 02-10-2007 à 09:11:49  profilanswer
 

ton fichier balise.xml tu l'as bien uppé sur ton serveur au même niveau que ton script php?
Les droits sont correctement réglés dessus?

mood
Publicité
Posté le 02-10-2007 à 09:11:49  profilanswer
 

n°1618015
thekiller2​42
Posté le 02-10-2007 à 17:21:55  profilanswer
 

Dans le doute, je l'ai mis en 777, mais ça change rien ;) .
Sinon, il est bien au même dossier que mon script...


---------------
http://www.robotix.fr
n°1619026
thekiller2​42
Posté le 04-10-2007 à 16:37:34  profilanswer
 

UP


---------------
http://www.robotix.fr
n°1619855
thekiller2​42
Posté le 05-10-2007 à 16:51:03  profilanswer
 

Personne n'a de solution ?


---------------
http://www.robotix.fr

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  DOM et 1and1

 

Sujets relatifs
DOM et liste déroulanteDOM : gérer les erreurs de syntaxe
pb chez 1and1 : Error 500 - Internal server errorRepérage de chaines de caractères dans arbre DOM
Pré executer Jscript pour une page web sans JScript : DOM ?Comparaison de Chaine de caractères, déplacement DOM
[JS DOM]Tableau créé en DOM, s'affiche sous FF, pas sous IEParser un code source generé par JavaScript avec DOM
Récupérer propriété CSS en JavaScript/DOMcréer un sgbd chez 1and1
Plus de sujets relatifs à : DOM et 1and1


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)