Código PHP:
<?php
function XBBCode($cadena){
/* Funcion para convertir de
XBBCode a XHTML */
$cadena = htmlentities($cadena);
$cadena = str_replace('"','"',$cadena);
$cadena = nl2br($cadena);
$cadena = stripslashes($cadena);
// Nombres de las etiquetas
// que se deben cerrar
$etiquetas1 = array (
// La clave indica la etiqueta XBBCode
// el valor su traducción a XHTML
'n'=>'b',
'c'=>'i',
's'=>'u',
'url'=>'a'
);
// Nombres de las etiquetas
// que no hace falta cerrar
$etiquetas2 = array (
'image'=>'img',
'hr'=>'hr'
);
foreach ($etiquetas1 as $etiqueta => $html)
$cadena=preg_replace("/[$etiqueta(.*?)](.*?)[/$etiqueta]/", "<$html$1>$2</$html>", $cadena);
foreach ($etiquetas2 as $etiqueta => $html)
$cadena=preg_replace("/[$etiqueta(.*?)/]/", "<$html$1/>", $cadena);
return $cadena;
}
?>
<?php
//include 'XBBCode.php';
$texto = '[n][c]Hola![/c][/n] <[s]bienvenido[/s]>
a [url href="http://www.google.com"]http://www.google.com[/url]';
echo XBBCode($texto);
?>
Warning: preg_replace() [function.preg-replace]: Unknown modifier 'n' in C:\wamp\www\misitio\BBCode.php on line 26
Warning: preg_replace() [function.preg-replace]: Unknown modifier 'c' in C:\wamp\www\misitio\BBCode.php on line 26
Warning: preg_replace() [function.preg-replace]: Unknown modifier ']' in C:\wamp\www\misitio\BBCode.php on line 26
Warning: preg_replace() [function.preg-replace]: Unknown modifier 'r' in C:\wamp\www\misitio\BBCode.php on line 26
Warning: preg_replace() [function.preg-replace]: Unknown modifier ']' in C:\wamp\www\misitio\BBCode.php on line 28
Warning: preg_replace() [function.preg-replace]: Unknown modifier ']' in C:\wamp\www\misitio\BBCode.php on line 28