Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
| SteAlzzer |
4.4.2008, 22:17
Сообщение
#1
|
|
Турист ![]() Группа: Пользователи Сообщений: 88 Регистрация: 4.4.2008 Пользователь №: 12 943 Репутация: 0 |
Люди, подскажите, пожалуста, как сделать, что бы при отправке сообщения с неправильной расстановкой BBтегов (неправильная последовательность, не равное кол-во открывающих и закрывающих тегов) выводилось предупреждение.
Есть идея только насчет неравного кол-ва открывающих и закрывающих тегов: завести переменную, равную нулю. Каждый открывающий тег добалял к ней единицу, каждый закрывающий - отнимал. Только как это реализовать? |
| liw |
5.4.2008, 8:18
Сообщение
#2
|
|
Житель ![]() ![]() ![]() Группа: Модераторы Сообщений: 283 Регистрация: 2.11.2007 Пользователь №: 6 760 Репутация: 20 |
да посчитать то не сложно, вот например:
Код $text='d[a]s[a]ffh[/a][a][b]'; $bbcodes='a,b,h1,h2'; $data=explode(',',$bbcodes); foreach($data as $d){ preg_match_all('/\['.$d.'\]/',$text,$open); preg_match_all('/\[\/'.$d.'\]/',$text,$close); if(@count($open[0])!=count($close[0])){ print 'Не закрыт bb-код ['.$d.']<br>'; } } только толку от этого не много, нужно ещё учитывать что такие коды могут быть и в коде например $var[i] и т.д... может быть это можно сделать и одним регулярным выражением, ну да ладно. |
| SteAlzzer |
5.4.2008, 20:42
Сообщение
#3
|
|
Турист ![]() Группа: Пользователи Сообщений: 88 Регистрация: 4.4.2008 Пользователь №: 12 943 Репутация: 0 |
Вот-вот... Если слышал о форуме на базе PunBB, то, возможно, знаешь, что там есть сия обработка ББкода...
Есть еще какие-нить предложения?) |
![]() ![]() |
|
Текстовая версия | Сейчас: 11.10.2008, 23:45 |
|