删除字符串中的特定html标签 - javascript

时间:2018-01-03 16:22:01

标签: javascript

我正在尝试从wysiwyg生成的输出中清除服务器端的一串文本。虽然我可以在客户端修复它,但最好也在服务器端解决这个问题。

var string = "<p>firstline</p><p>secondline</p><p>thirdline</p><p>iframe</p><p>a</p><p>df</p><p>dsf&nbsp;</p><p><br></p><p>sd</p><p>f</p><p>sdf</p><p><br></p>"

var x = string.replace("<p><br></p>", "");

https://jsfiddle.net/8c0yh9r7/

代码应该但不会消除段落中的中断

为什么会这样?

3 个答案:

答案 0 :(得分:3)

使用带有全局标志的正则表达式,例如:

 string.replace(/<p><br><\/p>/g, "");

https://jsfiddle.net/Lu2r3820/1/

使用字符串时,只会替换第一个匹配项。

请参阅replace()文档

答案 1 :(得分:2)

  

并没有摆脱段落中的中断

是的,它确实......但只有一次。您的代码中有多个包含换行符的段落。

如果您想多次替换它,则需要使用正则表达式并使用g将其标记为全局。

var x = string.replace(/<p><br><\/p>/g, "");

答案 2 :(得分:1)

它确实替换了,但只是第一次出现。如果之后再运行,则可以看到第二次出现消失。

var x = x.replace("<p><br></p>", "");

请参阅此内容以替换所有出现的内容。 How to replace all occurrences of a string in JavaScript?