非常に長い複数行の文字列があります(文字列にロードできるファイルにあります)。次の例を挙げてみましょう。
<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 );
改善のための提案を歓迎します!