2010-04-22 4 views
1

J'ai un XML non valide comme celui-ciXML non valide Remplacer le contenu en PHP

Warning: count() [function.count]: Node no longer exists in /var/bla/test.php 
<?xml version="1.0" encoding="ISO-8859-1"?> 
<nodes> 
<some>test</some> 
</nodes> 

Maintenant, je besoin d'une expression rationnelle qui remplacerait le Warning: count() [function.count]: Node no longer exists in /var/bla/test.php avec "" comment puis-je faire?

Le xml ci-dessus n'est pas généré sur mon localmachine, son appel api qui a renvoyé un code XML non valide

+0

résolution Peut-être l'erreur plutôt que de se cacher le message serait une meilleure approche? – nickf

+1

@nickf Me rappelle de [cette image] (http://dl.dropbox.com/u/146967/20100422.php-vs-python.png). –

Répondre

2

En supposant que vous devez utiliser une expression régulière pour une raison quelconque, cette ligne de PHP supprime tout, depuis le début de la chaîne jusqu'à ce que la première occurrence de <?xml:

$output = preg_replace('/\A.*?<\?xml/s', '<?xml', $input); 
0

error_reporting(0);

+0

Ce n'est pas sur ma machine locale son d'une API – streetparade

0

This blog post pourrait avoir la réponse. L'histoire courte consiste à transtyper en une chaîne si vous voulez utiliser la valeur d'un attribut ou d'un nœud.

0

En vous en tenant à votre question, supprimez simplement la première ligne de ce fichier.

Questions connexes