função bbcode completa e ótima
ta ai simples e eficaz, tem quase tudoque tem aqui no fórum do imasters :)
<?phpfunction bbcode($string){ $patterns = array('`\[b\](.+?)\[/b\]`is', '`\[i\](.+?)\[/i\]`is', '`\[u\](.+?)\[/u\]`is', '`\[color=#([0-9a-fA-F]{6})](.+?)\[/color]`is', '`\[email\](.+?)\[/email\]`is', '`\[img\](.+?)\[/img\]`is', '`\[url=([a-z0-9]+://)([\w\-]+\.([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*?)?)\](.*?)\[/url\]`si', '`\[url\]([a-z0-9]+?://){1}([\w\-]+\.([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*)?)\[/url\]`si', '`\[url\]((www|ftp)\.([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*?)?)\[/url\]`si', '`\[quote\](.+?)\[/quote\]`is', '`\[code\](.+?)\[/code\]`is', '`\[size=([1-6]+)\](.+?)\[/size\]`is'); $replaces = array('<span style="font-weight:bold">\\1</span>', '<span style="font-style:italic">\\1</span>', '<span style="text-decoration:underline">\\1</span>', '<span style="color:#\1;">\2</span>', '<a href="mailto:\1">\1</a>', '<img src="\1" style="border:0px;" />', '<a href="\1\2" target="_blank">\6</a>', '<a href="\1\2" target="_blank">\1\2</a>', '<a href="http://\1" target="_blank">\1</a>', '<backquote>\1</backquote>', '<code>\1</code>', '<h\1>\2</h\1>'); $prev_string = NULL; while($prev_string != $string){ $prev_string = $string; $string = preg_replace($patterns, $replaces, $string); } return $string;}echo bbcode("[[b]serginho_the_best[/b]](http://www.serginhothebest.cjb.net/)"); //como usar?>
Discussão (1)
Carregando comentários...