Я бы не стал использовать здесь ex ex, так как придумать что-то, что может охватить любой и весь HTML, который пользователь может навязать вам, - это задача, которая может постоянно занятым постоянный сотрудник.
Вместо этого лучше всего использовать подход с двумя остановками, основанный на уже существующих функциях PHP.
Во-первых, давайте превратим закодированные сущности HTML обратно в знаки больше и меньше, чем htmlspecialchars_decode .
$string = htmlspecialchars_decode($string);
Это должно дать нам строку правильного HTML. (Если ваши кавычки все еще закодированы, см. Второй аргумент в связанной документации).
В завершение мы удалим теги HTML с помощью функции PHP strip_tags. Это удалит все и все HTML-теги из источника.
$string = strip_tags($string);
Завернуто в функцию / метод
function decodeAndStripHTML($string){
return strip_tags(htmlspecialchars_decode($string));
}