Возможно, вы не пытаетесь санировать ненадежный HTML, но читатели этого вопроса не поймут неправильно:
Это не удалит javascript за пределами <script>
элементов: <img src=bogus onerror=alert(42)>
.
Это не удалит едва запутанные сценарии: <script>alert(42)</script >
.
Превратит недопустимый контент в сценарии: <scrip<script></script>t>alert(42)</script>
.
Я не говорю, что это то, что вы пытаетесь сделать. У вас могут быть вполне веские причины для этого, которые не имеют отношения к ненадежным вводам, но для более поздних читателей не пытайтесь свернуть свое собственное средство для дезинфекции HTML только с помощью регулярных выражений.