允许属性的PHP正则表达式XML /(.*)/si

允许属性的PHP正则表达式XML /(.*)/si,php,xml,regex,Php,Xml,Regex,目前不支持任何属性,但我也希望捕获内容,即使它有属性。 您可以使用[^>]*匹配/忽略标记中的任何内容。同样,您可能希望使用[^]*而不是*?来确保它只匹配文本内容: /<peanut\:compressedContent>(.*?)<\/peanut\:compressedContent>/si /]*>([^]*)/si 这只是提取压缩的gzip内容;然后gunziping它,然后我使用简单的xml解析器..当您应该使用DOM/xml解析时,不要使用正则表达式。请看

目前不支持任何属性,但我也希望捕获内容,即使它有属性。

您可以使用
[^>]*
匹配/忽略标记中的任何内容。同样,您可能希望使用
[^]*
而不是
*?
来确保它只匹配文本内容:

/<peanut\:compressedContent>(.*?)<\/peanut\:compressedContent>/si
/]*>([^]*)/si

这只是提取压缩的gzip内容;然后gunziping它,然后我使用简单的xml解析器..当您应该使用DOM/xml解析时,不要使用正则表达式。请看:我没有使用完整的XML文档!通过使用您的方法:因为我没有使用完全清晰的xml文档,它是一个包含大量十六进制jibberish和部分xml的二进制文档。。。说来话长。。。。警告:simplexml加载字符串()[函数.simplexml加载字符串]:^在C:\xampp\htdocs\gunzip.php的第19行警告:simplexml加载字符串()[函数.simplexml加载字符串]:实体:第1行:解析器错误:应为开始标记,'
/<peanut:compressedContent[^>]*>([^<>]*)<\/peanut:compressedContent>/si