Удалить JavaScript в строке

Удалить JavaScript в строке (при этом разрешить HTML-теги) можно через объект HtmlPurifier (например, когда пользователь оставляет комментарий или отзыв).

use yii\helpers\HtmlPurifier;

$comment = '<script>alert("код")</script> Пример <a href="javascript:alert(\'код\')">текста</a>';

# 1-ый способ
echo HtmlPurifier::process($comment); // Пример <a>текста</a>

# 2-ой способ
echo Yii::$app->formatter->asHtml($comment); // Пример <a>текста</a>

Попытка добавления вредоносного JavaScript-кода на сайт называется XSS-атака.

Объект HtmlPurifier использует расширение «HTML Purifier».

Ссылка на расширение: htmlpurifier.org