Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как быть с ббкодом

Как быть с ббкодом


     28.12.2012    Все вопросы » Общие вопросы по PHP    2299

вопрос
Доброго времени суток. Сей час разбираюсь с BBcode и реализую BBcodes. В принципе ни с одним кодом кроме одно у меня не возникло проблем, проблема возникла с тем, речение чего я не нашел в интернете.

В случае конструкции Как быть с ббкодом я реализовал так:
$vtext = preg_replace('#\[img\](.*?)\[/img\]#i', "<img src='$1'>", $vtext);


Ну а как быть с конструкцией текст .. . то в моей мысли появился пробел. помогите пожалуйста....

Ответил: BR0kEN


Найдите в parse.class.php строку:
if( $this->allow_url ) {
и посмотрите как реализовано там.

з.ы. Я так понимаю вы самостоятельно адаптируете wysibb и, если прав, то не забудьте учесть что для формирования данного тега используется JS. Функцию tag_leech() можно подсмотреть в /engine/inc/include/inserttag.php

4 комментария

hatchees
Юзер

hatchees - 28 декабря 2012 19:24 -

Блин забыл взять в тег коде..

Вы меня не правильно поняли. Нет я не привязываю висибб, я прсото делаю систему ББ кодов.....
Допустим реализация:
[img] картинка [/img]

$vtext = preg_replace('#\[img\](.*?)\[/img\]#i', "<img src='$1'>", $vtext);


А перед мной стоит задача:
[url= ссылка]текст картинка... [/url]

а тут с кодом у меня возникла проблема!


И пробывал сделать так:
$vtext = preg_replace('#\[url=(.+)\](.+)\[\/url\]#isu',  "<a href='$1'>$2</a>", $vtext);


но из за неведомых причин что то не получается....

hatchees
Юзер

hatchees - 28 декабря 2012 19:52 -

Мне здается что я ошибся с #isu идентификатором

pavel31
Юзер

pavel31 - 29 декабря 2012 00:28 -

Извиняюсь что не в тему, но может мне кто нибудь подскажет как к модулю (выводится на отдельной странице) привязать комментарии?? Я пытался добавить сегодня вопрос на этом сайте, но мне постоянно писало ошибку :(

hatchees
Юзер

hatchees - 29 декабря 2012 22:30 -

Вопрос решен спасибо, реализовал следующим образом: возможно кому то пригодится.

<?php

function BBCode ($vtext) {
$search = array(
        '@\[(?i)b\](.*?)\[/(?i)b\]@si',
        '@\[(?i)i\](.*?)\[/(?i)i\]@si',
        '@\[(?i)u\](.*?)\[/(?i)u\]@si',
        '@\[(?i)img\](.*?)\[/(?i)img\]@si',
        '@\[(?i)url=(.*?)\](.*?)\[/(?i)url\]@si',
        '@\[(?i)code\](.*?)\[/(?i)code\]@si'
);
$replace = array(
        '<b>\\1</b>',
        '<i>\\1</i>',
        '<u>\\1</u>',
        '<img src="\\1">',
        '<a href="\\1">\\2</a>',
        '<code>\\1</code>'
);
return preg_replace($search , $replace, $vtext);
}

$epaa = BBCode($vtext);
$glora = nl2br($epaa);

?>

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх