Sag*_*kar 3 html javascript printing tags
谢谢阅读!
var data = "<html><head><title>Hello</title></head><body>Hello Body</body></html>";
Run Code Online (Sandbox Code Playgroud)
我想打印data包括HTML标签,而不需要浏览器呈现HTML标签,只显示"Hello Body".
我试过了:
str = str.replace("<", "");
但是徒劳无功
Mat*_*eer 11
data = data.replace(/</g, "<").replace(/>/g, ">");
Run Code Online (Sandbox Code Playgroud)
当浏览器遇到<(它被称为字符实体)时,它将用文字"<"替换它,使您能够在页面上显示HTML标记而不进行渲染.
/</g是一个正则表达式,只是说"匹配字符串中的所有'<',并且g意味着全局地执行它.没有g它只会取代它遇到的第一个'<'.
最后要注意的是,使用jQuery这样的库要好得多.这是一种很容易出错的东西,并且错过了边缘情况.让经过强化,经过良好测试和安全的库函数为您完成.
实际(和更安全的修复)如下:
function htmlspecialchars(text){
return jQuery('<div/>').text(text).html();
}
Run Code Online (Sandbox Code Playgroud)
在纯JavaScript中,那将是:
function htmlspecialchars(text){
var tnd=document.createTextNode(text);
var div=document.createElement("DIV");
div.appendChild(tnd);
return div.innerHTML;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13365 次 |
| 最近记录: |