Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP删除xml_Php_Regex_Xml - Fatal编程技术网

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';