Я хочу удалить теги <script>
из строки html с помощью регулярных выражений.
У меня есть следующий код, который работает, но не работает, когда вы возвращаетесь в сценарии обратно:
function removeScriptsFromHtmlStr(html) {
const regex = /<script(?:(?!\/\/)(?!\/\*)[^'"]|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\/\/.(?:\n)|\/\*(?:(?:.|\s))*?\*\/)*?<\/script>/;
const result = html.replace(regex, '');
return result;
}
Так, например:
выполнение этого через функцию будет нормально работать
<script>alert(document.cookie);</script>
, но это не будет:
<script>alert(document.cookie);</script><script>alert(document.cookie);</script>
Как я могу обновить регулярное выражение, чтобы это исправить?