Удаление тегов HTML и PHP

Задача
Необходимо удалить теги HTML и PHP из строки или файла.

Решение
Удаление тегов HTML и PHP из строки выполняется посредством функции strip_tags():

$html = '(a href="http://www.oreilly.com">I love computer books.(/a)';
print strip_tags($html);
I 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')));

И функции strip_tags(), и функции fgetss() можно приказать не удалять определенные теги, указывая их в последнем аргументе.1 Опреде-ление тега чувствительно к регистру, а для пары тегов необходимо указывать только открывающий тег. Например, следующий фрагмент удаляет из переменной $html все теги, за исключением :

$html = '(a href="http://www.oreilly.com">I love computer books. print strip_tags($html,'');
I love computer books.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела PHP на эту тему:
Анализ файла протокола веб-сервера
Выделение информации на веб-странице
Извлечение содержимого URL с помощью метода POST
Извлечение ссылок из HTML-файла
Использование шаблонов системы Smarty

Вернуться в раздел: PHP / 11. Автоматизация работы с Web