我使用tinyMCE库编辑HTML,返回如下内容:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
... Your HTML ...
</body>
</html>
我想删除doctype,html,head和body标签,以便
... Your HTML ...
这是我正在使用的功能。
function stripHTML(html) {
return str.replace(/<(\/?|\!?)(DOCTYPE html|html|head|body)>/, "");
}
这只会从字符串中删除<!DOCTYPE html>
。
如果有更简单的方法,请指出正确的方向。有什么想法吗?
答案 0 :(得分:7)
function stripHTML(html) {
return str.replace(/<(\/?|\!?)(DOCTYPE html|html|head|body)>/g, "");
}
您需要一个全局修改器来获取所有案例 http://regex101.com/r/aA1vL0
答案 1 :(得分:2)
使用此:
return str.replace(/<(\/?|\!?)(DOCTYPE html|html|head|body)>/g, "");
你没有g
全局标志,所以它只替换它匹配的第一个元素。
答案 2 :(得分:0)
\ r \ n符号与您的表达式不匹配的问题。 您可以使用此表达式去除所需的所有内容:
function stripHTML(html) {
return str.replace(/(<![\w\W]*<body>|(<\/body>\W*<\/html>))/gmi, "");
}