问题:
如何使用 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