Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: BB code
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » BB code

Страниц (1): [1]
 

1. OverNik - 21 Ноября, 2009 - 09:36:16 - перейти к сообщению
Субота!!!
Всем доброго утра Радость

В Общем решил разобраться как же работает обработчик bb кодов, в голову пришла мысль использовать str_replace, что-то подобное:

PHP:
скопировать код в буфер обмена
  1.  
  2. $text = "[b]Прет медвет![/b]";
  3. $text = str_replace('[b]', '<b>', $text);
  4. $text = str_replace('[/b]', '</b>', $text);
  5. echo $text;
  6.  

Все отлично работает, мне показали жирным курсором "Прет медвет"
Думаю, давай я попробую разобратся с ссылками, цветами и тд. И тут я понял ... Что этой функции очень мало для таких экспериментов Нахмурился
Вот решил собственно и спросить тут, как обрабатывать вот такое:
CODE (text):
скопировать код в буфер обмена
  1. [color=#000]Привет[/color]
  2. [color=red]Привет[/color]
  3. [url=www.php.su]PHP.SU[/url]
  4. [url=http://php.su]PHP.SU[/url]
  5. [image]

И так далее...
Пожалуйста, ведь очень интересно!) Поиск юзал, предлагают или уже готовые bb обработчики килобайт так по 200 - неохота копаться в коде, ну и плюс тут объяснять
лучше
2. EGORR - 21 Ноября, 2009 - 09:46:21 - перейти к сообщению
Почитай http://www.php.su/articles/?cat=...exp&page=006
3. OverNik - 21 Ноября, 2009 - 10:00:57 - перейти к сообщению
EGORR пишет:
Почитай http://www.php.su/articles/?cat=...exp&page=006

Оу, тут на целые выходные, с регулярным выражениям так близко знакомится мне очень рано!

Можно какой-то рабочий пример? А там уже розберусь!)
4. Champion - 21 Ноября, 2009 - 10:12:17 - перейти к сообщению
http://forum.php.su/topic.php?fo...=62&topic=30 - вот тут поменьше. Тоже про регулярки.
Кстати, а как твой обработчик обработает [В]qwe[/b] такую вещь. Или просто одиночный [В]?
Для примера вот тебе простенькая регулярка на URL:
preg_replace('/\[url=(.+)\](.+)\[\/url\]/iU', '<a href="\1">\2<\a>', $str);
По-хорошему, конечно надо бы .+ заменить на шаблон валидного URL, но разберешься в этом примере с помощью статьи, тогда остальное и сам напишешь)
5. OverNik - 21 Ноября, 2009 - 10:55:57 - перейти к сообщению
та в том дело что не как, нужно писать для [B] одельный фильтр Улыбка
(Добавление)
Аа круть, по твоему примеру очень много чего обяснилось, почитаю что за что отвечает.... Спасибо!!!!

 

Powered by ExBB FM 1.0 RC1