[英]Regex find all closing html tags, all opening separately
我有一个JavaScript函数对字符串执行过滤。 我目前有过滤器剥离所有html标记。
return String(text).replace(/<[^>]+>/gm, '');
我已经意识到我实际上需要执行两个操作:首先,用<br>
替换所有结束标记,然后执行第二次操作,删除所有开始标记。
我对regEx不太熟悉。 如何指定/<[^>]+>/gm
仅是打开还是关闭?
您需要使用双重替换功能。
> var str = "<h1>foo bar</h1>"
undefined
> str.replace(/<\w[^>]*>/, "").replace(/<\/[^>]+>/, "<br>")
'foo bar<br>'
要么
使用单个替换功能,该功能使用基于捕获组的正则表达式。
> var str = "<h1>foo bar</h1>"
> str.replace(/<(\w+\b)[^>]*>([^<>]*)<\/\1>/, '$2<br>')
'foo bar<br>'
我们必须向后引用( \\1
)第一个捕获组,而不是第二个,因为第一个捕获组本身包含标记名。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.