исправлено Обработчик [URL][/URL] bbcode

L

ler

Гость
#1
Неверно обрабатываются урлы с наличием скобок () в онном

Менял на это
$url_exp = '[\w\#!$%\(\)&~/.\-;:=,?@а-яА-Я\[\]+]+?';
Но не катит

Код:
function init_replacements ()
    {
        $tpl        = $this->tpl;
        $img_url_exp = 'http://[^\s\?&;=\#\"<>]+?\.(jpg|jpeg|gif|png)';
        $email_exp  = '[a-z0-9&\-_.]+?@[\w\-]+\.([\w\-\.]+\.)?[\w]+';
        $url_exp    = '[\w\#!$%&~/.\-;:=,?@а-яА-Я\[\]+]+?';
 
        $this->preg = array(
            '#\[quote="(.+?)"\]#isu'                                => $tpl['quote_username_open'],
            '#\[spoiler="(.+?)"\]#isu'                              => $tpl['spoiler_title_open'],
            '#\[list=(a|A|i|I|1)\]#isu'                              => '<ul type="$1">',
            '#\[\*=(\d+)\]#isu'                                      => '<li value="$1">',
            '#\[pre\](.*?)\[/pre\]#isu'                              => '<pre class="post-pre">$1</pre>',
            '#\[name=([a-zA-Z0-9_]+?)\]#isu'                        => '<a name="$1"></a>',
            '#\[url=\#([a-zA-Z0-9_]+?)\](.*?)\[/url\]#isu'          => '<a class="postLink-name" href="#$1">$2</a>',
            '#\[color=([\#0-9a-zA-Z]+)\]#isu'                        => '<span style="color: $1;">',
            '#\[size=([1-2]?[0-9])\]#isu'                            => '<span style="font-size: $1px; line-height: normal;">',
            '#\[align=(left|right|center|justify)\]#isu'            => '<span class="post-align" style="text-align: $1;">',
            '#\[font="([\w\- \']+)"\]#isu'                          => '<span style="font-family: $1;">',
            "#\[img\]($img_url_exp)\[/img\]#isu"                    => $tpl['img'],
            "#\[img=(left|right)\]($img_url_exp)\[/img\]\s*#isu"    => $tpl['img_aligned'],
            "#\[url\](https?://$url_exp)\[/url\]#isu"                => '<a href="$1" class="postLink">$1</a>',
            "#\[url\](www\.$url_exp)\[/url\]#isu"                    => '<a href="http://$1" class="postLink">$1</a>',
            "#\[url=(https?://$url_exp)\]([^?\n\t].*?)\[/url\]#isu"  => '<a href="$1" class="postLink">$2</a>',
            "#\[url=(www\.$url_exp)\]([^?\n\t].*?)\[/url\]#isu"      => '<a href="http://$1" class="postLink">$2</a>',
            "#\[email\]($email_exp)\[/email\]#isu"                  => '<a href="mailto:$1">$1</a>',
            "#\[qpost=([0-9]*)\]#isu"                                => '<u class="q-post">$1</u>',
        );
 
        $this->str = array(
            '[quote]'    => $tpl['quote_open'],
            '[/quote]'  => $tpl['quote_close'],
            '[spoiler]'  => $tpl['spoiler_open'],
            '[/spoiler]' => $tpl['spoiler_close'],
            '[list]'    => '<ul>',
            '[*]'        => '<li>',
            '[/list]'    => '</ul>',
            '[/color]'  => '</span>',
            '[/size]'    => '</span>',
            '[/align]'  => '</span>',
            '[/font]'    => '</span>',
            '[tab]'      => ' ',
            '[br]'      => "\n\n",
            '[hr]'      => $tpl['hr'],
            '[b]'        => '<span class="post-b">',
            '[/b]'      => '</span>',
            '[u]'        => '<span class="post-u">',
            '[/u]'      => '</span>',
            '[i]'        => '<span class="post-i">',
            '[/i]'      => '</span>',
            '[s]'        => '<span class="post-s">',
            '[/s]'      => '</span>',
            '[del]'      => '<span class="post-s">',
            '[/del]'    => '</span>',
            '[clear]'    => '<div class="clear">&nbsp;</div>',
        );
 
        $this->preg_search = array_keys($this->preg);
        $this->preg_repl  = array_values($this->preg);
        $this->str_search  = array_keys($this->str);
        $this->str_repl    = array_values($this->str);
    }
 
L

ler

Гость
#2
Также не обрабатывает изображения ссылки которых не оканчиваются расширением файла

Например такие
Код:
[img]http://resonansiwaktu.files.wordpress.com/2012/01/trollface.jpg?w=510[/img]
 

dimka3210

Пользователь
#3
Также не обрабатывает изображения ссылки которых не оканчиваются расширением файла

Например такие
Код:
[img]http://resonansiwaktu.files.wordpress.com/2012/01/trollface.jpg?w=510[/img]
Это подтверждаю, а насчёт круглых скобок в урлах.... это как-то странно. С какой целью в урле скобка?
 
Сверху