Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/09/2008, 04:45
Avatar de pzin
pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 9 meses
Puntos: 2114
BBCode: Problemas con anidar citas

Muy buenas.

Tengo un problema con un BBCode, que resulta que no puedo anidar citas en un foro. He intentado resolverlo hace algunos meses, pero no encuentro la solución.

El código que uso es éste:
Código PHP:
function reescribir ($str) {

$busqueda = array(
'/\[b\](.*?)\[\/b\]/is',
'/\[i\](.*?)\[\/i\]/is',
'/\[u\](.*?)\[\/u\]/is',
'/\[img\=(.*?)\]/is',
'/\[url\](.*?)\[\/url\]/is',
'/\[url\=(.*?)\](.*?)\[\/url\]/is',
'/\[cita\](.*?)\[\/cita\]/is',
'/\[cita\=(.*?)\](.*?)\[\/cita\]/is',
'/\[youtube\=http\:\/\/(.*?)\.youtube\.com\/watch\?v\=(.*?)\]/is'

);
$reemplazo = array(
'<strong>$1</strong>',
'<em>$1</em>',
'<u>$1</u>',
'<img src="$1" />',
'<a href="$1" target="_blank" rel="nofollow">$1</a>',
'<a href="$1" target="_blank" rel="nofollow">$2</a>',
'<span class="cita">Cita:<p class="textoCita">$1</p></span>',
'<span class="cita">$1 escribió:<p class="textoCita">$2</p></span>',
'    <object width="425" height="350">
        <param name="movie" value="http://www.youtube.com/v/$2"></param>
        <param name="wmode" value="transparent"></param>
        <embed src="http://www.youtube.com/v/$2" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed>
    </object>'
);
$str preg_replace ($busqueda$reemplazo$str);

$str=smilies($str);

return 
$str;

He intentado, por ver si funcionaba, anidar dos citas en $busqueda directamente, pero ni con esas.

Muchas gracias.