我有一个很长的多行字符串(它在一个可以加载到字符串中的文件中),让我们以此为例:
<response status="success" code="19">
<result total-count="1" count="1">
<deviceconfig>
<system>
<type>
<static/>
</type>
</system>
<setting>
</deviceconfig>
</result>
</response>
<response status="success" code="19">
<result total-count="1" count="1">
<network>
<interface>
<ethernet/>
</interface>
<profiles>
<monitor-profile>
<entry name="default">
<interval>3</interval>
<action>wait-recover</action>
</entry>
</monitor-profile>
</profiles>
</network>
</result>
</response>
我需要提取它的系统子集,并将其放入一个字符串中,其中包含从上面示例中获取的以下内容:
<system>
<type>
<static/>
</type>
</system>
在我的用例中,原始样本要大得多,系统内的文本也要大一些
答案1
好的,我找到了一个解决方案来做到这一点:
preg_match_all('/(<system>.*<\/system>)/ms', file_get_contents('./myinputfile'), $xmlinit);
$output=$xmlinit[0][0]
file_put_contents('./myoutputfile', $output );
欢迎提出改进建议!