如何替换“&lt; b&gt;”在整个文档中使用“<b>”且没有jquery </b>

时间:2012-09-16 20:17:12

标签: javascript replace

以下函数仅替换它找到的第一个“&lt;br /&gt;”,而不是以下函数。有谁知道如何解决这个问题? 我希望该函数替换整个文档中的所有字符串。

<script language="javascript" type="text/javascript">
    window.onload = function umtauschen()
    {
    document.body.innerHTML = document.body.innerHTML.replace('&lt;br /&gt;', '<br />');
    document.body.innerHTML = document.body.innerHTML.replace('&lt;b&gt;', '<b>');
    document.body.innerHTML = document.body.innerHTML.replace('&lt;/b&gt;', '</b>');
    }
</script>

由于

3 个答案:

答案 0 :(得分:5)

使用正则表达式和g(全局)标志:

document.body.innerHTML = document.body.innerHTML
    .replace(/&lt;br \/&gt;/g, '<br />')
    .replace(/&lt;b&gt/g, '<b>')
    .replace(/&lt;\/b&gt;/g, '</b>');

另一种选择是使用.split(find).join(replace)成语:

document.body.innerHTML = document.body.innerHTML
    .split('&lt;br /&gt;').join('<br />')
    .split('&lt;b&gt;').join('<b>')
    .split('&lt;/b&gt;').join('</b>');

答案 1 :(得分:1)

以下代码可以解决您的问题:

document.body.innerHTML = document.body.innerHTML.replace(/&lt;/g, '<').
                                                replace(/&gt;/g, '>') ;

答案 2 :(得分:1)

如果文档是动态的,如脚本,PHP或其他方式生成的文档,最好更换DB中的标签或打印数据。如果它是一个静态HTML页面,最好在原始文件中编辑代码。

页面加载后动态替换整个主体的速度会很慢。