매우 긴 여러 줄 문자열이 있습니다(문자열에 로드할 수 있는 파일에 있음). 다음을 예로 들어 보겠습니다.
<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 );
개선을 위한 제안을 환영합니다!