不让HTML代码在页面上编译

发布网友

我来回答

4个回答

热心网友

把你的文章经过html编码后在进行发表,则<a>百度</a>仍然显示为原样,不会变成超链接:function html_encode(strHTML)   //使用此函数编码你的文章
{   
  var strTem = "";   
  if (strHTML.length == 0) return "";   
  strTem = strHTML.replace(/&/g, "&gt;");   
  strTem = strTem.replace(/</g, "&lt;");   
  strTem = strTem.replace(/>/g, "&gt;");   
  strTem = strTem.replace(/ /g, "&nbsp;");   
  strTem = strTem.replace(/\'/g, "&#39;");   
  strTem = strTem.replace(/\"/g, "&quot;");   
  strTem = strTem.replace(/\n/g, "<br>");   
  return strTem;   
}
//编码后在把内容赋值给相应的显示控件即可
//使用下面这句测试一下显示的内容:
document.write(html_encode(document.body.innerHTML));

热心网友

改了一下:window.onload=function(){ var str=document.body.innHTML;//先获取body部分源代码 然后将整体用正则表达式替换//楼上已经写了 }

热心网友

如果你的内容没有其他的超链接,那么可行思路:只替换<a >……</a>标签的内容,用正则表达式下面是一个提取超链接中的内容的例子,你可以参考 下。function clearHtml(str){
var pattern =/.*<a[^>]*>.*<\/a>/gm;
var pa =/.*<a[^>]*>/gm;
var pea =/<\/a>[.]*/gm;
var strs = str.match(pattern);
var returnStr="";
for(var i=0;i<strs.length;i++)
{
returnStr+=strs[i].replace(pa,"").replace(pea,"");
}
return returnStr;
}

热心网友

<TEXTAREA rows=6 cols=60>
要显示的代码
</TEXTAREA>

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com