>백엔드 개발 >PHP 튜토리얼 >Regex 또는 PHP XML 확장을 사용하여 모든 XML 태그에 속성을 추가하는 방법은 무엇입니까?

Regex 또는 PHP XML 확장을 사용하여 모든 XML 태그에 속성을 추가하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-20 16:07:02788검색

How to Add an Attribute to All XML Tags Using Regex or PHP XML Extensions?

모든 XML 태그에 속성을 추가하는 정규 표현식

질문:

preg_replace를 사용하여 특정 속성을 추가하는 방법 문자열 변수로 저장된 올바른 형식의 XML 문서의 모든 XML 태그에? 예를 들어, 다음 XML을 수정하려고 합니다.

<tag1>
<tag2> some text </tag2>
</tag1>

to:

<tag1 attr="myAttr">
<tag2 attr="myAttr"> some text </tag2>
</tag1>

답변:

사용하고 싶은 마음이 들지만 이 작업에는 정규식을 사용하지 않는 것이 좋습니다. XML은 일반 언어가 아니므로 정규식을 사용하려고 하면 예상치 못한 결과가 발생할 수 있습니다. 대신 PHP의 XML 확장을 사용하는 것이 좋습니다.

<code class="php">$xml = new SimpleXml(file_get_contents($xmlFile));

function process_recursive($xmlNode)
{
    $xmlNode->addAttribute('attr', 'myAttr');

    foreach ($xmlNode->children() as $childNode)
    {
        process_recursive($childNode);
    }
}

process_recursive($xml);

echo $xml->asXML();</code>

이 방법을 사용하면 모든 XML 태그가 올바르게 수정되어 XML에서 정규식을 사용할 때 발생할 수 있는 위험을 피할 수 있습니다.

위 내용은 Regex 또는 PHP XML 확장을 사용하여 모든 XML 태그에 속성을 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.