//========================================
//====== Sistema de BBCode->HTML =========
//========================================
function bbcode($sText)
{
$sText = str_replace("http://www.youtube.com/watch?v=","http://www.youtube.com/v/",$sText);
$atagArray['youtube'] = array('open'=>'<embed src="',
'close'=>'" type="application/x-shockwave-flash" width="425" height="350"></embed>');
$sTagArray['lol'] = array('tag'=>'<img src="imagens/smiles/001.gif" />');
$sTagArray[''] = array('tag'=>'<img src="imagens/smiles/002.gif" />');
$sTagArray['ops'] = array('tag'=>'<img src="imagens/smiles/003.gif" />');
$sTagArray['raiva'] = array('tag'=>'<img src="imagens/smiles/004.gif" />');
$sTagArray['=p'] = array('tag'=>'<img src="imagens/smiles/005.gif" />');
$sTagArray['uU'] = array('tag'=>'<img src="imagens/smiles/015.gif" />');
$sTagArray['snif'] = array('tag'=>'<img src="imagens/smiles/007.gif" />');
$sTagArray['hein'] = array('tag'=>'<img src="imagens/smiles/009.gif" />');
$sTagArray['Oo'] = array('tag'=>'<img src="imagens/smiles/010.gif" />');
$sTagArray['sorriso'] = array('tag'=>'<img src="imagens/smiles/011.gif" />');
$sTagArray['s2'] = array('tag'=>'<img src="imagens/smiles/012.gif" />');
$sTagArray['!'] = array('tag'=>'<img src="imagens/smiles/013.gif" />');
$atagArray['esquerda'] = array('open'=>'<p style="width: 100%; text-align: left">','close'=>'</p>');
$atagArray['direita'] = array('open'=>'<p style="width: 100%; text-align: right">','close'=>'</p>');
$atagArray['centro'] = array('open'=>'<p style="width: 100%; text-align: center">','close'=>'</p>');
$atagArray['justo'] = array('open'=>'<p style="width: 100%; text-align: justify">','close'=>'</p>');
$atagArray['img'] = array('open'=>'<img src="','close'=>'" />');
$atagArray['b'] = array('open'=>'<b>', 'close'=>'</b>');
$atagArray['i'] = array('open'=>'<i>', 'close'=>'</i>');
$atagArray['u'] = array('open'=>'<u>', 'close'=>'</u>');
$atagArray['url'] = array('open'=>'<a href="', 'close'=>'" target="_blank">\\1</a>');
$atagArray['email'] = array('open'=>'<a href="mailto:', 'close'=>'">\\1</a>');
$atagArray['site=(.*)'] = array('open'=>'<a href="', 'close'=>'" target="_blank">\\2</a>');
$atagArray['email=(.*)'] = array('open'=>'<a href="mailto:', 'close'=>'">\\2</a>');
$atagArray['color=(.*)'] = array('open'=>'<font color="', 'close'=>'">\\2</font>');
$atagArray['size=(.*)'] = array('open'=>'<font size="', 'close'=>'">\\2</font>');
$atagArray['font=(.*)'] = array('open'=>'<font face="', 'close'=>'">\\2</font>');
foreach ($atagArray as $stagName => $replace)
{
$tagEnd = preg_replace("/\W/sUi", "", $stagName);
$sText = preg_replace(
"|\[$stagName\](.*)\[/$tagEnd\]|sUi",
"$replace[open]\\1$replace[close]",
$sText
);
}
foreach ($sTagArray as $stagName => $replace)
{
if (eregi("[)(#$]", $stagName))
{
$stagNameNew = preg_replace("#([\)\(\$\#])#", "\\ \\1", $stagName);
$stagNameNew = preg_replace("#( +)#", "", $stagNameNew);
$sTagArray[ $stagNameNew ] = array('tag' => $replace['tag']);
unset($sTagArray[ $stagName ]);
}
}
foreach ($sTagArray as $stagName => $replace)
{
$sText= preg_replace("|\[$stagName\]|sUi", "$replace[tag]", $sText);
}
return $sText;
}
dei uma modificada e tals.. até ai blz.. mas agora eu to com um problema, os usuários que irão postar tb poderão editar seus posts certo? Então, mas na hora de editar o código ta todo em HTML... será que alguem ai tem uma função que tranforme HTML pra BBCODE?!
Pq agora eu só tenho 2 opções.. ou eu arranjo essa função que eu num tenho nem ideia de como fazer.. ou eu salvo no Banco de Dados os textos com TAGS BBCODE mesmo e uso a função na hora de imprimir, oq acho q vai afetar o desempenho neh?