Парсер BBCode на PHP

tashkentchi

Новичок
Там одна однопиксельная прозрачная гифка. Цвет идет бэкграундом.

Сделано для того, чтобы ИЕ правильно таблицу отрисовывал.

Сделаю прелоад.
 

dark-demon

d(^-^)b
нафига? вскоре бб-коды должны вымереть и тогда актуальным будет вопрос: "неужели кто-то до сих пор мучается с бб-кодами?" ^_^
 

tashkentchi

Новичок
1. Все когда нибудь умрем. Из за этого не жить?

2. Незачем противопоставлять визуал кодам. У любого визивига есть принципиальный недостаток, - его возможности ограничены размером панели инструментов. А возможности ббкода ограничены опытностью пользователя. Визивиг - секретаршам. ББКод - продвинутым юзерам. И тот и другой - нужен.

Хотя, "секретарш" больше. Ну и что с того?
 

dark-demon

d(^-^)b
мисье не слышал про макрдаун и ко? они гораздо удобнее чем бб-тэги, за которыми либо к панели тянуться, либо руками набирать, но запаришься. для примера:
[b ]выделение[ /b] в ббкодах
*выделение* в маркдауне
кроме того, я за гармоничное сочетание визуального с текстовым редактором. например, добавление и редактирование гиперссылок в угоду визуальности почти во всех визуальных редакторах сделано крайне неудобно.

mishco, html+css
 

tashkentchi

Новичок
Markdown - эта одна из разновидностей упрощенной разметки. Причем менее популярный чем BBCode. От последнего отличается только синтаксисом. А этого совсем недостаточно для скорого вымирания BBCode. Чем пользоваться - вопрос вкуса и привычки.

Кроме того, Markdown легко встраивается в BBCode. Специально для тебя включу в очередную версию xBB тег [md], внутри которого будет обрабатываться Markdown.

Если кто не хочет ждать, может сделать это самостоятельно. Для этого надо.
1. Скачать скрипт для обработки Markdown-а здесь http://www.michelf.com/projects/php-markdown/extra/
2. Воспользоваться процедурой добавления тега для xBB, описанной здесь http://xbb.uz/docs/add_tag.bb

А вот класс, реализующий тег [md]:

PHP:
require_once 'путь/к/markdown.php');

class Xbb_Tags_Md extends bbcode
{
    var $behaviour = 'pre';
    function Xbb_Tags_Md()
    {
    }
    function get_html($tree = null)
    {
        $source = '';
        foreach ($this->tree as $item) {
            if ('text' == $item['type']) {
                $source .= $item['str'];
            }
        }
        return Markdown($source);
    }
}
Надеюсь, что эти несколько строк кода спасут BBCode от скорого вымирания :)

-~{}~ 12.08.07 14:13:

На xBB.uz тег [md] уже работает. Здесь тест: http://xbb.uz/news/2007/08/12.bb

-~{}~ 12.08.07 15:03:

Markdown оказывается опасен в плане JavaScript-инъекции. Поэтому в пользовательских комментариях на своем сайте, я его отключил. Доступен только для админа. Может быть даже пригодится.
 

dark-demon

d(^-^)b
Кроме того, Markdown легко встраивается в BBCode. Специально для тебя включу в очередную версию xBB тег [md], внутри которого будет обрабатываться Markdown.
не стоит стараться. таким ББмаркдауном пользоваться никто не будет. вот если бы была врождённая поддержка...

Markdown оказывается опасен в плане JavaScript-инъекции.
только не язык опасен, а одна из библиотек-конвертеров в html. впрочем, и не должен конвертер производить фильтрацию...
 
dark-demon
ну html+css, ну я как бы не знаток, но мне еще от верстальщиков ничего не приходило без spacer.gif :)
 

dark-demon

d(^-^)b
Markdown - эта одна из разновидностей упрощенной разметки.
скорее наоборот - ббкоды - это разновидность усложнённой разметки. если конкретнее, то ббкоды - это слегка упрощённый html. а маркдаун и его родственники основываются на текстовой разметке в электронных сообщениях, отсюда удобство его ручного написания и отсутствие необходимости во всяких панельках над текстарией.
 

Андрейка

Senior pomidor developer
dark-demon
действительно, там все просто... тока снизу описание на 2 листа прицепить что есть что
 

ONK

Пассивист PHPСluba
Не ссорьтесь, умрёт и то и другое, останется только HTML. ;)
 

dark-demon

d(^-^)b
Андрейка, а вот на этом форуме есть поле быстрого ответа, но нет ни панелек, ни описания бб-кодов. :-p

-~{}~ 12.08.07 22:08:

ONK, жестокий ты :) хтмл - это самый не приспособленный для ручной разметки язык.
 

ONK

Пассивист PHPСluba
dark-demon

1. HTML ничуть не менее приспособлен для этого чем ББкод.
2. Ручная разметка тоже умрёт, лично я её практически никогда не использую.
 

dark-demon

d(^-^)b
1. меньше.
[ url=http://ya.ru]поиск[/url ]
против
<a href=http://ya.ru>поиск</a>
в первом случае - меньше пакав и не нужно тянуться к шифту

2. речь об искуственном интеллекте или личном секретаре? :)
 
Сверху