JavaScript 匹配和替换;什么是最好的方法?

标签 javascript xml regex replace return

所以我已经开始工作了,但我希望有人可以帮助我优化它。

我正在获取大量 XML 数据,但无法控制这些数据。其中一个标签中有标记,它不使用 >、< 和 ",而是使用 HTML 名称。我设置了一个非常简单的函数来返回具有正确元素的字符串,以便我可以将其写入页面。

我只是想知道,我的 cleanFeedDescription() 函数可以做得更干净、更优化吗?

<script type="text/javascript">
        var textString = '&lt;img src=&quot;/media/filter/small/transfer/a0/46/21ca7da7/3569/1774/cf3f/82634fc4/img/4th_of_july_209.jpg&quot; alt=&quot;&quot; /&gt; &lt;p class=&quot;long-description&quot;&gt;&lt;span class=&quot;uploaded-date&quot;&gt;Uploaded 2010-11-29 18:24:24&lt;/span&gt;&lt;span class=&quot;uploaded-by&quot;&gt;by gin_alvizo&lt;/span&gt;&lt;span class=&quot;uploaded-to&quot;&gt;part of Bull&#039;s-Eye Bold BBQ powered by ...&lt;/span&gt;&lt;/p&gt;';

        document.write(cleanFeedDescription(textString));

        function cleanFeedDescription(descString) {

            descString = descString.replace(/&lt;/g, '<');
            descString = descString.replace(/&gt;/g, '>');
            descString = descString.replace(/&quot;/g, '"');

            return descString;
        };
    </script>

最佳答案

我建议您只使用一个函数替换一次而不是多次,这样会更快且更容易维护。

function cleanFeedDescription(descString) 
{
    var replacements = { lt: '<', gt: '>', quot: '"' };

    return descString.replace(/&(\w+);/g, function(str, entity)
    {
        return replacements[entity] || "";
    });
};

关于JavaScript 匹配和替换;什么是最好的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4473820/

相关文章:

javascript - d3.js 中的外部文件未定义 JSON 数据?

javascript - 如何在 discord.js 中断开用户与语音 channel 的连接?

xml - Tomcat 服务器会自动识别并执行跨域策略文件吗?

javascript - npm install 没有更新依赖项

xml - 非常奇怪的Powershell xml编写行为

java - 符号与其 ascii 值的比较

java 正则表达式 帮助

c# - 使用带有特殊字符的正则表达式分割字符串

java - 正则表达式 - 如何识别字符串 + 空格 + 字符串

javascript - 为什么我的字符串返回 "&#39;"