PHP中的XML替换内容无效

时间:2010-04-22 14:26:09

标签: php xml regex

我有一个像这样的无效XML

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>

现在我需要一个正则表达式,用Warning: count() [function.count]: Node no longer exists in /var/bla/test.php替换"" 我怎么能这样做?

我的localmachine上没有生成上面的xml,它的api调用返回了一个无效的xml

4 个答案:

答案 0 :(得分:2)

假设您出于某种原因必须使用正则表达式,这行PHP将删除从字符串开头到第一次出现<?xml的所有内容:

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

答案 1 :(得分:0)

error_reporting(0);

答案 2 :(得分:0)

This blog post可能有答案。

如果您想使用属性或节点的值,那么简短的故事就是转换为字符串。

答案 3 :(得分:0)

坚持你的问题,只需删除该文件的第一行。