Foros del Web » Programando para Internet » PHP »

bbcode para enlace html?

Estas en el tema de bbcode para enlace html? en el foro de PHP en Foros del Web. Buenas He montado un sistema para escritura con bbcodes, pero para un enlace html se me resiste. Cuando capto el enlace entre [ url] y ...
  #1 (permalink)  
Antiguo 11/08/2004, 03:01
 
Fecha de Ingreso: junio-2004
Mensajes: 283
Antigüedad: 19 años, 10 meses
Puntos: 0
bbcode para enlace html?

Buenas

He montado un sistema para escritura con bbcodes, pero para un enlace html se me resiste. Cuando capto el enlace entre [ url] y [ /url], no sé cómo puedo hacer para lo que hay entre las dos cláusulas sea a la vez el enlace, y el texto del enlace.

A ver si alguien puede resolverme esta duda.

Gracias por adelantado
  #2 (permalink)  
Antiguo 11/08/2004, 08:31
Avatar de yoseman  
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 4 meses
Puntos: 5
No sé si te servirá, pero así es más o menos cómo lo hacen en los foros phpBB:

Código PHP:
$cadena=preg_replace"#\[url\]([\w]+?://[^ \"\n\r\t<]*?)\[/url\]#is",'\\1',$cadena); 
Salu2 ;)
  #3 (permalink)  
Antiguo 11/08/2004, 09:35
 
Fecha de Ingreso: junio-2004
Mensajes: 283
Antigüedad: 19 años, 10 meses
Puntos: 0
uf.. la verdad es que no pillo nada....además no tendría que salir en algun lugar <a href=.... ???
  #4 (permalink)  
Antiguo 11/08/2004, 09:48
Avatar de yoseman  
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 4 meses
Puntos: 5
Es cierto:

Código PHP:
<?
$cadena
=preg_replace"#\[url\]([\w]+?://[^ \"\n\r\t<]*?)\[/url\]#is",'<a href="\\1">\\1</a>',$cadena);
?>
$cadena se supone que es el texto que tiene los bbcode, y ahora si crea el link, se me olvido poner las etiquetas <a href.. etc

Salu2 ;)

Lo he probado y funciona, este es el código que use para probar, por si te sirve para tus pruebas...

Código PHP:
<?
$cadena
=preg_replace"#\[url\]([\w]+?://[^ \"\n\r\t<]*?)\[/url\]#is",'<a href="\\1">\\1</a>',$cadena);
?>
<form method="post" action="<?=$PHP_SELF?>"> 
<b>Cadena a pasar:</b><br> 
<textarea name="cadena" cols="30" rows="5" class="formu1"></textarea><br> 
<input class="formu1" type="submit" name="entrar" value="Procesar cadena"> 
</form>
<? if ($_POST['cadena']!="")
{echo 
$cadena;}?>

Última edición por yoseman; 11/08/2004 a las 10:08
  #5 (permalink)  
Antiguo 11/08/2004, 12:20
 
Fecha de Ingreso: junio-2004
Mensajes: 283
Antigüedad: 19 años, 10 meses
Puntos: 0
muchas gracias! funciona muy bien, pero un último apunte, para que me abra el link en otra página que debería añadir? Gracias!
  #6 (permalink)  
Antiguo 11/08/2004, 17:38
Avatar de sir_notos  
Fecha de Ingreso: noviembre-2001
Ubicación: Mexicali
Mensajes: 709
Antigüedad: 22 años, 5 meses
Puntos: 1
<a href="\\1" taget="_blank">
__________________
Usuario Registrado de linux #374849
  #7 (permalink)  
Antiguo 11/08/2004, 17:39
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 19 años, 11 meses
Puntos: 2
$cadena=preg_replace( "#\[url\]([\w]+?://[^ \"\n\r\t<]*?)\[/url\]#is",'<a href="\\1" target="_blank">\\1</a>',$cadena);
__________________
¿Te apasiona el mundo del guión? El portal del guión
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:42.