Pull to refresh

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

Reading time1 min
Views7.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 оставляю на ваше усмотрение, так как что русскому хорошо, то немцу смерть. :)
Tags:
Hubs:
Total votes 43: ↑25 and ↓18+7
Comments86

Articles