Как стать автором
Обновить

удаление ненужных HTML тегов из пользовательского ввода.

Время на прочтение1 мин
Количество просмотров7.3K

Вариант реализации



Я тут подумал… Чтобы без геммороя удалить из HTML кода все ненужные (читай опасные) HTML теги, его вовсе не обязательно парсить в классическом понимании этого слова, а можно просто преобразовать в DOMDocument на сервере. Тогда нам будут доступны замечательные медоты removeChild и removeAttribute.

Сделать это можно примерно так:

public function process($text) {
$document = new DOMDocument('1.0', 'utf-8');
@$document->loadHTML($text);
$this->cleanNode($document->documentElement);
return $this->prepare($document->saveXML());
}


реализацию cleanNode оставляю на ваше усмотрение, так как что русскому хорошо, то немцу смерть. :)
Теги:
Хабы:
Всего голосов 43: ↑25 и ↓18+7
Комментарии86

Публикации