所以我已经开始工作了,但我希望有人可以帮助我优化它。
我正在获取大量 XML 数据,但无法控制这些数据。其中一个标签中有标记,它不使用 >、< 和 ",而是使用 HTML 名称。我设置了一个非常简单的函数来返回具有正确元素的字符串,以便我可以将其写入页面。
我只是想知道,我的 cleanFeedDescription() 函数可以做得更干净、更优化吗?
<script type="text/javascript">
var textString = '<img src="/media/filter/small/transfer/a0/46/21ca7da7/3569/1774/cf3f/82634fc4/img/4th_of_july_209.jpg" alt="" /> <p class="long-description"><span class="uploaded-date">Uploaded 2010-11-29 18:24:24</span><span class="uploaded-by">by gin_alvizo</span><span class="uploaded-to">part of Bull's-Eye Bold BBQ powered by ...</span></p>';
document.write(cleanFeedDescription(textString));
function cleanFeedDescription(descString) {
descString = descString.replace(/</g, '<');
descString = descString.replace(/>/g, '>');
descString = descString.replace(/"/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/