"'\[b\](.*?)\[/b\]'is",
Работает ли мой текущий RegEx. Но я хочу вместо этого изменить [] на <>. Но это не работает ... Что мне нужно изменить, кроме того, что нужно [*]
Для PHP доступно различных парсеров BBCode , например
, который позволяет вам просто определить правила замены вручную:
echo bbcode_parse( bbcode_create( array( 'b' => array( 'type' => BBCODE_TYPE_NOARG, 'open_tag' => '<b>', 'close_tag' => '</b>' ) ) ), '[b]Bold Text[/b]' ); // prints <b>Bold Text</b>
Также проверьте различные похожие вопросы о парсерах BBCode:
Попробуйте ~ в качестве разделителя вместо
~
preg_match("~<b>(.*?)</b>~is", $text, $b);