Javascript 删除HTML中包含
我有一个包含一些HTML的字符串,我想删除那些innerHTML包含的标记 例如,我有一个字符串,其中包含10个标记,其中5个包含。现在我想从字符串中删除这些标记Javascript 删除HTML中包含,javascript,Javascript,我有一个包含一些HTML的字符串,我想删除那些innerHTML包含的标记 例如,我有一个字符串,其中包含10个标记,其中5个包含。现在我想从字符串中删除这些标记 <p>this is a demo text</p> <p>this is a demo text</p> <p>this is a demo text</p> &am
<p>this is a demo text</p>
<p>this is a demo text</p>
<p>this is a demo text</p>
<p>&nbsp; </p>
<p>&nbsp; </p>
请帮助我删除JavaScript中使用正则表达式的代码。我想您使用的是这段代码
<html>
<body>
<script>
var dd = '<p>& </p>';
alert(dd);
dd = dd.replace(/( )*/g,"");
alert(dd);
</script>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
</body>
</html>
这会奏效的
spo = theString;
spo = spo.replace('</p>','</p>%$%');
spo.split(spo,'%$%');
var output=[];
spo.each(function(s){ if(! s.search(' ') > 0){ output.push(s); });
它很简单,如果你打破它。
你知道结束p标记是分隔符,所以只需添加一个不会出现的字符串,将其拆分到数组中即可。如果你想超级安全,你也可以搜索原始数组,以确保它不包含注入的分隔符| | |你可以在结束p标记处拆分并立即将其添加回搜索你不想要的内容并将你所做的推送到数组中=
我希望你能原谅我的速记。我不确定是否100%,但在我的测试中它是有效的。这将删除所有仅包含空格或编码空格-空段落的编码P标记:
var str = "<p>this is a demo text</p>" +
"<p>this is a demo text</p>" +
"<p>&nbsp; </p>" +
"<p>this is a demo text</p>" +
"<p>&nbsp; </p>" +
"<p>&nbsp; </p>" +
"<p>this is a demo text</p>" +
"<p>this is a demo text</p>" +
"<p> &nbsp; &nbsp;&nbsp; &nbsp;</p>";
var result=str.replace(/\<p\>(?:\s|\&nbsp;)*\<\/p\>/gi,"");
字符串是否真的包含p这是演示文本/p,或者更确切地说这是演示文本?请参见此处,如果有重叠的标记,您想做什么?像一些带有空格的文本一样,它是令人困惑的。@nnnnnn如果您使用JavaScript中的DOM,您将获得整个节点。这些类型的错误将由浏览器修复。不,我想从字符串中删除P标记,我不想替换它。