"'\[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 Parsers:
Попробуйте ~
вместо разделителя
preg_match("~<b>(.*?)</b>~is", $text, $b);