問題:
如何使用preg_replace 新增特定屬性儲存為字串變數的格式良好的XML 文件中的所有XML 標記?例如,您想要修改下列 XML:
some text
至:
some text
答案:
雖然很想使用正規表示式來完成此任務,但不建議這樣做。 XML 不是常規語言,嘗試在其上使用正規表示式可能會導致意外結果。相反,我們建議使用 PHP 的 XML 擴充:
$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();
此方法可確保正確修改所有 XML 標記,避免在 XML 上使用正規表示式的潛在陷阱。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3