Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Поиск незакрытых тегов
 
 автор: Добрый кот   (21.03.2011 в 14:50)   письмо автору
 
 

Здравствуйте. У меня на сайте куча статей, добавляемых пользователями. т.к юзеры оставляют теги не закрытыми (пример
</table>или<table>
) страница тепяет свой первоначальный вид. Подскажите как сделать поиск незакрытых или неоткрытых тегов и обработать их?

  Ответить  
 
 автор: cheops   (21.03.2011 в 14:54)   письмо автору
 
   для: Добрый кот   (21.03.2011 в 14:50)
 

Первое, что приходит в голову, это подсчитать количество тэгов для открытия и тэгов для закрытия. На те статьи, где эти цифры не совпадают обратить внимание (либо пользователей, либо администраторов, либо и тех и других).

PS Это не панацея (так как пользователи могут и четное количество раз ошибаться), но для начала вполне сойдет.

  Ответить  
 
 автор: Добрый кот   (21.03.2011 в 14:59)   письмо автору
 
   для: cheops   (21.03.2011 в 14:54)
 

Впринципе можно сделать подсчет открывающих и закрывающих тегов, потом если их количество не совпадает вывести сообщение пользователю. Но как быть с теми статьями которые уже в базе?

  Ответить  
 
 автор: cheops   (21.03.2011 в 15:04)   письмо автору
 
   для: Добрый кот   (21.03.2011 в 14:59)
 

Хм... а что мешает в них подсчитать количество тэгов? Можно даже специальный столбец ввести в таблице базы данных с пометкой о проблемах статье - помещать туда флаг, если обнаружено несовпадение количества тэгов. Плюс разрешить модераторам/администраторам помечать такую статью вручную. А при выводе в рейтинге или поиске в первую голову выводить статьи без проблемного флага. Раструбить об этом по порталу - я думаю, большую часть статей пользователи сами вычистят.

  Ответить  
 
 автор: Добрый кот   (21.03.2011 в 15:07)   письмо автору
 
   для: cheops   (21.03.2011 в 15:04)
 

Точно ).Блин, че то туплю сегодня. Спасибо)

  Ответить  
 
 автор: SHAman   (21.03.2011 в 15:06)   письмо автору
 
   для: Добрый кот   (21.03.2011 в 14:59)
 

Вы пытаетесь препятствовать вводу. Но юзеры могут и не понять что значит "У вас есть незакрытые теги." и просто будут материть систему.

Проще помечать такие статьи для модерации и потом просматривать в административном интерфейсе спецом.

Кроме того, нужно помнить что теги могут быть не закрыты даже если количество открывающих и закрывающих одинаково.

Можно написать сложный рекурсинвый парсер, который будет проверять это. Но стоит ли решение этой задачи затраченных усилий?

Осло пришла в голову идея - узнать нет ли модулей, проверяющих корректность html. Может, эту задачу за вас кто-то решил.

  Ответить  
 
 автор: Добрый кот   (21.03.2011 в 15:18)   письмо автору
 
   для: SHAman   (21.03.2011 в 15:06)
 

>Кроме того, нужно помнить что теги могут быть не закрыты даже если количество открывающих и закрывающих одинаково.
Тут ничего не поделаешь (хотя есть мысль написать функцию определяющую порядок расположения открывающих и закрывающих тегов)
>Осло пришла в голову идея - узнать нет ли модулей, проверяющих корректность html. Может, эту задачу за вас кто-то решил.
Гугл по этому вопросу ничего толкового не выдал.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования