Проблема с регулярным выражением для preg_replace

Talker

Новичок
Использую такой код для замены bbcode
PHP:
$str = "[b]123[/b] [b]456[/b]";
$str = preg_replace("#\[b\](.+)\[/b\]#i", "<strong>\\1</strong>", $str);
echo $str;
Выводит
PHP:
<strong>123[/b] [b]456</strong>
Как указать в регулярном выражении, чтобы bbcode заменялся по минимальному совпадению?
Чтобы получилось
PHP:
<strong>123</strong> <strong>456</strong>
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Такие вещи регулярками делать, имхо, как с пушки по воробьям.
 

Alien85

I like my cat
PHP:
$str = preg_replace("#\[b\](.+)\[/b\]#iU", "<strong>\\1</strong>", $str);
или
PHP:
$str = preg_replace("#\[b\](.+?)\[/b\]#i", "<strong>\\1</strong>", $str);
почитай: ссылка
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Alien85
За целостностью того что пишет юзер, должен следить сам юзер через предпросмотр.
 

ArkDoom

Новичок
Всегда в панике от слов (код будет смотретья не красиво, криво, длинно). Сразу видно, что человек в 99% в жизни фрик и он хочет хоть что-то сделать нормально.....а что в итоге?? Правильно - говно.

c0dex
Такие веши ТОЛЬКО регулярной и нужно делать, и вообще....прогер при работе с текстом, должен ПОСТОЯННО пользоваться регулярками.
 

craz

Нестандартное звание
Всегда в панике от слов (код будет смотретья не красиво, криво, длинно). Сразу видно, что человек в 99% в жизни фрик и он хочет хоть что-то сделать нормально.....а что в итоге?? Правильно - говно.

c0dex
Такие веши ТОЛЬКО регулярной и нужно делать, и вообще....прогер при работе с текстом, должен ПОСТОЯННО пользоваться регулярками.
ага и иметь серваки 50 ядерные с 100500 мегабайтами оперативы - регулярки нужны там где они нужны не надо их пихать на каждый чих, они медленные
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
ArkDoom
Свое мнение не стоит выдавать за то что дОлжно, ок? Так вот повторяю русскими буквами через рот. Регулярки для таких задач не нужны, ибо проблемы целостности высосаны автором из большого пальца левой ноги.

Alien85
Что ты хотел этим мне сказать? Что текст будет жирным до конца? Дальше то что, или ты что-то не дописал мне тут?
 
  • Like
Реакции: craz

Alien85

I like my cat
ппц, я вообще не могу над вами, чуть со стула не упал пока читал. По теме вами сказано 0, а сами обосраться готовы.
 

craz

Нестандартное звание
ппц, я вообще не могу над вами, чуть со стула не упал пока читал. По теме вами сказано 0, а сами обосраться готовы.
по теме блин c0dex ответил: "не использовать здесь регулярки", а вы советчики хреновые вот и все.
 

ArkDoom

Новичок
Talker
Не сразу прочитал правильно сам вопрос....Я думал тебе нужно заменять что-то другое :D а это BBcode.

Все что писали выше - бред полный.

Парси все это при помощи библиотеки - bbcode.lib.php.

Как с ней работать, в гугле куча примеров. Удачи.
 

Alien85

I like my cat
ArkDoom
бред полный использовать эту библиотеку только для жирного начертания.
по теме блин c0dex ответил: "не использовать здесь регулярки", а вы советчики хреновые вот и все.
данный код используется при вставке новой записи, а это означает, что выполняется он только один раз!!! Поэтому разницы во времени выполнения между использованием регулярок и простой заменой ни для конечного пользователя, ни для сервера просто не будет!
 
Сверху