Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум о web-дизайне, графике - RusForumz _ Web-программирование: PHP _ Трабл с Bbcode

Автор: SteAlzzer 4.4.2008, 22:17

Люди, подскажите, пожалуста, как сделать, что бы при отправке сообщения с неправильной расстановкой BBтегов (неправильная последовательность, не равное кол-во открывающих и закрывающих тегов) выводилось предупреждение.
Есть идея только насчет неравного кол-ва открывающих и закрывающих тегов: завести переменную, равную нулю. Каждый открывающий тег добалял к ней единицу, каждый закрывающий - отнимал. Только как это реализовать?

Автор: liw 5.4.2008, 8:18

да посчитать то не сложно, вот например:

Код

$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

Вот-вот... Если слышал о форуме на базе PunBB, то, возможно, знаешь, что там есть сия обработка ББкода...
Есть еще какие-нить предложения?)

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)