Необходимо удалить теги HTML и PHP из строки или файла.
Удаление тегов HTML и PHP из строки выполняется посредством функции strip_tags():
$html = '<a href="http://www.oreilly.com">I <b>love computer books.</b></a>';
print strip_tags($html);
love computer books.
Функция fgetss() позволяет удалять их из файла по мере чтения строк:
$fh = fopen('test.html','r') or die($php_errormsg);
while ($s = fgetss($fh,1024)) {
print $s;
}
fclose($fh) or die($php_errormsg);
Функция fgetss() удобна, когда требуется удалить теги из файла в процессе его чтения, но ее вызов может привести к сбою, если теги охватывают несколько строк или весь буфер, в который функция fgetss() читает из файла. За счет увеличения объема используемой памяти чтение всего файла в строку обеспечивает лучшие результаты:
$no_tags = strip_tags(join('',file('test.html')));
И функции trip_tags(), и функции fgetss() можно приказать не удалять определенные теги, указывая их в последнем аргументе
Однако надо помнить, что злонамеренный пользователь может вставить
вредоносный сценарий и в атрибуты совершенно невинных тегов
Определение тега чувствительно к регистру, а для пары тегов необходимо
указывать только открывающий тег. Например, следующий фрагмент
удаляет из переменной $html все теги, за исключением <b></b>:
$html = '<a href="http://www.oreilly.com">I <b>love</b> computer books.</a>';
print strip_tags($html,'<b>');
I <b>love</b> computer books.