php regex – <b>

"'\[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);