javascript - 正则表达式删除脚本和样式标签+内容Javascript

标签 javascript html regex

我有一个场景,我有完整的网页,其中包含 javascript、css 和 html。我需要完全删除脚本和样式标签及其内容。我使用以下正则表达式在 PHP 中实现了这一点:

 $str = preg_replace('#<script(.*?)>(.*?)</script>#is', '', $html); 
 preg_replace('#<style(.*?)>(.*?)</style>#is', '', $str);

但无法用 javascript 完成它。我想要相当于

 <script(.*?)>(.*?)</script> //in javascript

我想替换 html 中出现的所有内容。 我已经用这个去掉了其他 html 标签

 pureText.replace(/<(?:.|\n)*?>/gm, ''); //just a reference

最佳答案

I want to have the equivalent of <script(.*?)>(.*?)</script> //in javascript

/<script([\S\s]*?)>([\S\s]*?)<\/script>/ig

使用[\S\s]*?而不是.*?在你的正则表达式中,因为 javascript 不支持 s修饰符(DOTALL 修饰符)。 [\S\s]*?将非贪婪地匹配任何空格或非空格字符零次或多次。

关于javascript - 正则表达式删除脚本和样式标签+内容Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26553113/

相关文章:

regex - 在 sed 模式中指定 "-"

javascript - getInitialProps 不适用于异步函数

javascript - 自动将所有网站链接更改为成员(member)链接

javascript - 获取超出最大调用堆栈大小

regex - 带有通配符和问号的 Apache Rewrite 问题

regex - sed 提取每行中的唯一字符

javascript - 在 Knockout.Js 中从 ajax JSON 响应绑定(bind)关联数组

javascript - 将 PHP 重定向到新窗口

javascript - 如何使用日期选择器验证日期,以便像 44/54/98 这样的日期在没有 html 中的日期输入类型的情况下无法输入?

javascript - id太多会影响性能吗