Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: tavman le le 11-02-2007 a 22:28:45

Titre: PHP5 : try / catch et erreur générées automatiquement
Posté par: tavman le le 11-02-2007 a 22:28:45

Salut tout le monde.
Voila, je bosse avec un xml... Seul problème, j'ai besoin de vérifier la validité du XML (car oui, je ne suis pas sur que mes XML soient valide... ils viennent de HTML).

En gros, je voudrai essayé de faire un truc dans ce genre la :

try {
   return simplexml_load_string("<gregre>");
} catch(Exception $myException) {
   return false;
}

soit je retourne le XML, soit je retourne false... Ou un autre moyen de faire une vérification XML sans utiliser HTMLTidy...

J'ai réussit a faire ca :
<?php
function verif_text( $text ) {
   $HTML_TO_XML = simplexml_load_string( $text );
   if ( $HTML_TO_XML ) return true;
   else return false;
}

if ( verif_text("<test") ) echo "OK";
else echo "ERREUR";
?>
mais j'ai toujours mes erreurs qui s'affichent... Alors si quelqu'un a une idée un peu plus propre...

Titre: Re:PHP5 : try / catch et erreur générées automatiquement
Posté par: MFred le le 12-02-2007 a 19:29:38

Salut,

Euh je vois pas bien ce que tu essayes de faire avec ce bloc try-catch. J'ai comme l'impression que ton bloc catch ne sera jamais executé, car
Code:
return simplexml_load_string("<gregre>");
ne lancera jamais d'exception. De manière générale, un bloc try avec une seule instruction n'a pas vraiment d'intéret en fait.

Sinon regarde peut-être plutôt du côté de la méthode loadHTML de l'objet DOMDocument ( http://fr2.php.net/manual/fr/function.dom-domdocument-loadhtmlfile.php ), ca semble faire automatiquement ce que tu essaies de faire (et en plus, DOM est plus pérenne de SimpleXML, qui pourrait dégager d'ici PHP6).

Titre: Re:PHP5 : try / catch et erreur générées automatiquement
Posté par: tavman le le 12-02-2007 a 19:31:44

Ouep mais effectivement, ca a pas été prévu de renvoyer une erreur... Donc bon... c'est pas trop grave... Je pensai que c'était comme en javascript : lorsqu'une erreur est lancée, même si c'est sur une fonction genre getElementById, ca attrape l'erreur...

Mais de toute facon, le problème est résolut... Mes erreurs provenaient de certaines choses que j'ai vu ici même (sur ce forum)... En gros je fait une fonction HTMLtoXML.. et dans la source du forum, y avait un "script planqué" : "<scr"+"ipt" ou un truc comme ca qui trainait... Mais c'est bon... Maintenant, je devrait pouvoir changer a peut pret n'importe quelle page HTML en XML :D

PS : effectivement, DOMDocument() semble permettre de faire ce que je veux mais... moi je veux faire sur une String et pas sur un fichier... et en plus, après avoir essayé sur des HTML, ca me renvoit plusieurs erreur que moi j'ai pas avec ma fonction...

DONC MOI MON TRUC C'EST MIEUX NA

Titre: Re:PHP5 : try / catch et erreur générées automatiquement
Posté par: MFred le le 12-02-2007 a 20:02:35

Citation de: tavman le le 12-02-2007 a 19:31:44
mais je veux faire sur une String et pas sur un fichier...


http://fr.php.net/manual/fr/ref.dom.php :
Citation:
#

DOMDocument->load() - Charge du XML depuis un fichier
#

DOMDocument->loadHTML() - Charge du HTML depuis une chaîne de caractères
#

DOMDocument->loadHTMLFile() - Charge du HTML depuis un fichier
#

DOMDocument->loadXML() - Charge du XML depuis une chaîne de caractères


:P :)

Titre: Re:PHP5 : try / catch et erreur générées automatiquement
Posté par: tavman le le 12-02-2007 a 20:36:45

Ouep mais même : quand j'essaye avec certains trucs, ca fonctionne pas... Alors que moi, ca marche :P


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.