Приведение html текста к стандартам!

preg

Новичок
Приведение html текста к стандартам!

Вопщем есть задачка:

1. Вырезать "опасные" теги и атрибуты типа script, style, iframe и т.д. (это не проблема и не особо важно)
2. Привести полученный текст страницы к стандартам HTML

тоесть к примеру <a href=site.ru>site.ru</a> не есть правильно и должно быть <a href="site.ru">site.ru</a>
на самом деле кривых тегов может быть огромное кол-во ...

Собственно может существует готовое решение или уже обсуждалось на форуме ткните носом (чесно... искал не нашёл) ;)

PS: DOM не предлагать ...
 

Jeck

Новичок
Хммм а Tidy ? Помоему там есть возможность исправления HTML
http://www.php.net/manual/ru/ref.tidy.php
 

DIAs

Новичок
Re: Приведение html текста к стандартам!

Автор оригинала: preg
тоесть к примеру <a href=site.ru>site.ru</a> не есть правильно и должно быть <a href="site.ru">site.ru</a>
на самом деле кривых тегов может быть огромное кол-во ...
Используй для этого tidy
 

preg

Новичок
гм ... мне бы на основе регулярок ;)
на серваке не включена php_tidy.dll (( и нет возможности включить
 

Jeck

Новичок
Тебе надо полностью распарсить HTML и потом восстановить по правилам... А с помошью регулярок можно исправить только частые ошибки.
 

preg

Новичок
Автор оригинала: Jeck
Тебе надо полностью распарсить HTML и потом восстановить по правилам... А с помошью регулярок можно исправить только частые ошибки.
угу, видимо придётся так и делать и тупо перебирвать кучу регулярок исключая все возможные ошипки для каждого тега отдельно ...
жуть как не хачу использовать DOM
 

Paranoiac

Новичок
<a href=site.ru>site.ru</a> не есть правильно и должно быть <a href="site.ru">site.ru</a>

объясните почему <a href=site.ru>site.ru</a> не есть правильно и чем это может грозить?
 

preg

Новичок
Автор оригинала: Paranoiac
<a href=site.ru>site.ru</a> не есть правильно и должно быть <a href="site.ru">site.ru</a>

объясните почему <a href=site.ru>site.ru</a> не есть правильно и чем это может грозить?
для браузеров это норм а вот для поисковиков не очень ...
вот тибе пример:
http://validator.w3.org/check?uri=http://phpclub.ru&charset=(detect+automatically)&doctype=Inline

Error Line 13 column 36: there is no attribute "LEFTMARGIN".
<BODY BGCOLOR="#FFFFFF" LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0>
по HTML стандартам должно быть

<BODY BGCOLOR="#FFFFFF" LEFTMARGIN="0" TOPMARGIN="0" MARGINWIDTH="0" MARGINHEIGHT="0">
ничего супер критического для пользователя в этом нет, но чистый код всегда приятно видеть )) да и потом стандартизированный текст легче пропарсить в BBcodes (или ещё куда)
 

kruglov

Новичок
preg
Вообще моего технического инглиша хватает на то, чтобы понять, что там написано "атрибута LEFTMARGIN вообще в стандарте нету".

А "по HTML стандартам должно быть <body>"
 

preg

Новичок
Автор оригинала: kruglov
preg
Вообще моего технического инглиша хватает на то, чтобы понять, что там написано "атрибута LEFTMARGIN вообще в стандарте нету".

А "по HTML стандартам должно быть <body>"
Хз чё он пишет но факт что он не видет ошибки в варианте с кавычками... задай BGCOLOR=#FFFFFF он также руганёца )))
 
Сверху