Os dejo la función bbcode en php y la vista previa en javascript.
Código PHP:
Ver original
<?php function BBCodes($mensaje) { '/\[b](.*?)\[\/b]/is', '/\[i](.*?)\[\/i]/is', '/\[u](.*?)\[\/u]/is', '/\[t](.*?)\[\/t]/is', '/\[ul](.*?)\[\/ul]/is', '/\[ol](.*?)\[\/ol]/is', '/\[li](.*?)\[\/li]/is', '/\[hr]/is', '/\[url](.*?)\[\/url]/is', '/\[url=(.*?)\](.*?)\[\/url]/is', '/\[img](.*?)\[\/img]/is', '/\[color=(.*?)\](.*?)\[\/color]/is', '/\[youtube](.*?)\[\/youtube]/is', '/\[size=(.*?)\](.*?)\[\/size]/is', '/\[align=(.*?)\](.*?)\[\/align]/is', '/\[quote=(.*?)\](.*?)\[\/quote]/is', '/\[:(.*?):]/is' ); '<b>$1</b>', '<i>$1</i>', '<u>$1</u>', '<strike>$1</strike>', '<ul style="list-style:outside; margin-left:30px">$1</ul>', '<ul style="list-style:decimal; margin-left:35px">$1</ul>', '<li>$1</li>', '<hr style="border:0.1em solid #DFDFDF" />', '<a href="$1" target="_blank" style="color:#06F">$1</a>', '<a href="$1" target="_blank" style="color:#06F">$2</a>', '<img src="$1" style="max-width:250px" />', '<span style="color:$1">$2</span>', '<iframe width="560" height="350" src="//www.youtube.com/embed/$1" frameborder="0"></iframe>', '<span style="font-size:$1em">$2</span>', '<p style="text-align:$1">$2</p>', '<div style="background:#fff; padding:1px 0 1px 5px; border:1px solid #ddd">Quote: <b>$1</b><p>$2</p></div>', '<img src="'.DIR_IMG.'smiles/$1.gif" />' ); return $resultado; } ?>
Código Javascript:
Ver original
<script type="text/javascript"> function p_text(texto){ texto = texto.replace('/n','<br />'); document.getElementById('preview_text').innerHTML = texto; } function p_button(){ $("#previa").css("display", "block"); } </script>
Haber si me puden guiar un poco a mostrar esos bbcodes mediante javascript para así mostrarlo en la vista previa sin necesidad de publicarlo.
Saludos.