我有一个场景,我有完整的网页,其中包含 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/