程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了正则表达式可在任何xml标记中添加属性大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决正则表达式可在任何xml标记中添加属性?

开发过程中遇到正则表达式可在任何xml标记中添加属性的问题如何解决?下面主要结合日常开发的经验,给出你关于正则表达式可在任何xml标记中添加属性的解决方法建议,希望对你解决正则表达式可在任何xml标记中添加属性有所启发或帮助;

不要在XML上使用正则表达式。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 version="1.0" enCoding='UTF-8'?>
<HTML>
    <head>
        <!-- <Meta> ... </Meta> -->
        <script>//<![cdaTA[
            function load() {document.write('<tt>Test</tt>');}
        //]]></script>
        <title><![cdaTA[Fancy <<Sitename>> [with Breadcrumbs] > in > title]]></title>
    </head>
    <body onload="load()">
        <input
            type="submit"
            value="multiline
                   button
                   text"
        />
    </body>
</HTML>

解决方法

我已经将格式良好的xml文档转换为字符串变量。我想使用preg_replace向每个xml标签添加定义的属性。

例如替换:

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

通过:

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

因此,我基本上需要regex表达式来查找任何开始标记并添加我的属性,但是我是一个完整的regex新手。

@H_262_36@

大佬总结

以上是大佬教程为你收集整理的正则表达式可在任何xml标记中添加属性全部内容,希望文章能够帮你解决正则表达式可在任何xml标记中添加属性所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。