Чем резать параметры тегов в текст?
Столкнулся с такой проблемой. PHP функции либо полностью обезвреживают теги ( htmlspecialchars() ) либо их вырезают (strip_tags). Но ни одна из функций не работает с атрибутами.
Как быть? Я хочу разрешить тег <a> и его атрибут href="", а все остальные атрибуты этого тега следует отрезать. Что посоветуете. Писать свой парсер не хочется - проблема то не нова, наверняка есть готовые классы и решения.
Спасибо.
Код:
$str = '<a class="href" href="http://site" style="color:red;">Ссылка</a>';
$str = preg_replace("#<a.*?href="(.*?)".*?>(.*?)</a>#im","<a href="\1">\2</a>",$str);
$str = preg_replace("#<a.*?href="(.*?)".*?>(.*?)</a>#im","<a href="\1">\2</a>",$str);
Ну и в таком духе. Можно очень легко самому написать функцию, которая будет так работать с любым тегом
http://www.phpclasses.org/browse/package/2189.html . Рекомендую :)
Нашел мощное решение: