Ответить на комментарий

Ассенизация сточных вод в HTML

Привет. Варианты очистки HTML "на лету".

1. Где-нибудь в разделе инициализации движка, ДО обращения к любой функции вывода
$tidy_ok = extension_loaded('tidy');
if ($tidy_ok == 1) ob_start();

2. По окончании рендеринга страницы, ПОСЛЕ любой функции вывода
if ($tidy_ok == 1) {
$tidy_cfg = array(
'markup' => true,
'force-output' => 1,
'logical-emphasis' => 1,
'lower-literals' => 1,
'indent' => 0,
'char-encoding' => 'raw',
'input-encoding' => 'raw',
'output-encoding' => 'raw',
'wrap' => 0,
'output-html' => 1,
'fix-uri' => 1,
'hide-comments' => 1,
'quote-ampersand' => 1,
'tidy-mark' => 0);
$tidy = new tidy;
$tidy->parseString(ob_get_clean(), $tidy_cfg, 'raw');
$out = tidy_get_output($tidy));
............
очистка HTML функцией preg_replace() или другим способом
............
echo $out;

Маска (регулярное выражение) в preg_replace() вырезает нежелательные теги, либо к переменной $out применяется самодельный парсер, "расставляющий запятые" в "казнить нельзя помиловать".

Довеском в примере задействован парсер HTML Tidy, но можно обойтись без него:

ob_start();
.............
.............
$out = ob_get_contents();
ob_end_clean(); //сбрасываем буфер дабы не было баден-баден
...чистим переменную $out функцией preg_replace()
echo $out;

Недостатки: контент (html или выведенный в режиме интерпретации php) после tidy_get_output/ob_get_contents обработан не будет.

Отправил GPS (не зарегистрирован) (сб., 04/11/2009 - 15:28)

Ответить

Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Allowed HTML tags: <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote>
  • Строки и параграфы переносятся автоматически.

Подробнее о форматировании

КАПЧА
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
  ____            _  _    __     __   ___    ____  
| __ ) _ __ | || | \ \ / / ( _ ) | _ \
| _ \ | '_ \ | || |_ \ \ / / / _ \ | |_) |
| |_) | | | | | |__ _| \ V / | (_) | | __/
|____/ |_| |_| |_| \_/ \___/ |_|
Введите код, изображенный в стиле ASCII-арт.

rss - подписка

Подпишись на RSS!

Подпишись на RSS!

Будь на Волне!

Друзья сайта

Последние комментарии

Регистрация доменов ru