PHP删除xml
如果可能的话,我需要一些帮助来解决一个问题PHP删除xml,php,regex,xml,Php,Regex,Xml,如果可能的话,我需要一些帮助来解决一个问题 <IndexFile index="dlc:blahblahblahblah.zip" version="1.19.0" /> 我如何使用php删除上面代码行中的所有内容,除了 blahblahblahblah.zip 注:blahblah不是实际名称,名称更改;我只需要删除.zip文件两侧的xml 我尝试过一些方法,比如strip_tags(),但到目前为止没有任何效果。理想情况下,您必须使用XML解析器来解析文件,并使用XPath
<IndexFile index="dlc:blahblahblahblah.zip" version="1.19.0" />
我如何使用php删除上面代码行中的所有内容,除了
blahblahblahblah.zip
注:blahblah不是实际名称,名称更改;我只需要删除.zip文件两侧的xml
我尝试过一些方法,比如strip_tags(),但到目前为止没有任何效果。理想情况下,您必须使用XML解析器来解析文件,并使用XPath/循环来获取该项目 如果这是唯一一行,为什么不能使用正则表达式来提取值<代码>索引=“[a-zA-Z0-9.-:::::*”(或
[a-zA-Z0-9.-:::::*.zip
)
同样,您需要考虑未来的影响。您的测试字符串是
您的正则表达式模式应该是:index=“dlc:(.+?)”
你的答案是:
blahblahblahblah.zip
试试看吧
请参阅贪婪与非贪婪匹配的答案:能否提供要删除的实际xml。此信息不足以提供答案通过在
$find
变量上使用preg\u quote
,您破坏了其中的任何正则表达式,每个字符都将被视为确切的字符(包括(.+?)
)@unknown1您仍然可以使用preg\u quote
,只是不要在想要正则表达式的东西上使用它<代码>$pattern='/^.*'。preg_quote('index=“dlc:”,“/”)。(.+?).$/m';