代码之家  ›  专栏  ›  技术社区  ›  streetparade

PHP中的XML替换内容无效

  •  1
  • streetparade  · 技术社区  · 14 年前

    我有这样一个无效的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>
    

    现在我需要一个regex来代替 Warning: count() [function.count]: Node no longer exists in /var/bla/test.php 具有 "" 我该怎么做?

    上面的XML不是在本地计算机上生成的,它是一个返回无效XML的API调用

    4 回复  |  直到 14 年前
        1
  •  2
  •   Jan Goyvaerts    14 年前

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

    $output = preg_replace('/\A.*?<\?xml/s', '<?xml', $input);
    
        2
  •  0
  •   nickf    14 年前

    error_reporting(0);

        3
  •  0
  •   nickf    14 年前

    This blog post 可能有答案。

    如果要使用属性或节点的值,则可以将短篇故事强制转换为字符串。

        4
  •  0
  •   Matteo Riva    14 年前

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