run code in 150+ php & hhvm versions
Bugs & Features
<?php function text2bbc($text){ $find = array( '~\[b\](.*?)\[/b\]~s', '~\[i\](.*?)\[/i\]~s', '~\[u\](.*?)\[/u\]~s', '~\[size=(.*?)\](.*?)\[/size\]~s', '~\[color=(.*?)\](.*?)\[/color\]~s' ); $replace = array( '<b>$1</b>', '<i>$1</i>', '<span style="text-decoration:underline;">$1</span>', '<span style="font-size:$1px;">$2</span>', '<span style="color:$1;">$2</span>' ); return preg_replace($find,$replace,$text); } echo text2bbc('this is some [b]bold text[/b] and this is [color=#FF0000]Red text[/color]'); echo'<br>'; echo text2bbc('this text is [i]italic[/i] and this is not'); echo'<br>'; echo text2bbc('here we have [u]underlined[/u] text'); echo'<br>'; echo text2bbc('this is [size=24]24px[/size] font'); ?>
Output for 4.3.0 - 5.6.21, hhvm-3.10.0 - 3.12.0, 7.0.0 - 7.1.0RC4
this is some <b>bold text</b> and this is <span style="color:#FF0000;">Red text</span><br>this text is <i>italic</i> and this is not<br>here we have <span style="text-decoration:underline;">underlined</span> text<br>this is <span style="font-size:24px;">24px</span> font