問題:
如何使用preg_replace 新增特定屬性儲存為字串變數的格式正確的XML 文件中的所有XML 標記?例如,您想要將以下XML:
<tag1> <tag2> some text </tag2> </tag1>
修改為:
<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 上使用正規表示式的潛在陷阱。
以上是如何使用正規表示式或 PHP XML 擴充功能為所有 XML 標籤新增屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!