如何使用正则表达式或 PHP XML 扩展向所有 XML 标签添加属性?

Barbara Streisand
发布: 2024-10-20 16:07:02
原创
729 人浏览过

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>
登录后复制

修改为:

<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中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!