Foros del Web » Programando para Internet » PHP »

convertir URL's en enlaces activos

Estas en el tema de convertir URL's en enlaces activos en el foro de PHP en Foros del Web. Hola amigos algioen me puede explicar como activar la URL, mirad tengo un foro y cogo los mensajes de una base de datos y me ...
  #1 (permalink)  
Antiguo 15/06/2004, 16:19
 
Fecha de Ingreso: mayo-2004
Ubicación: logroño
Mensajes: 15
Antigüedad: 19 años, 10 meses
Puntos: 0
Pregunta convertir URL's en enlaces activos

Hola amigos algioen me puede explicar como activar la URL, mirad tengo un foro y cogo los mensajes de una base de datos y me gustaria que al mostrarlo los link estuviesen activos.

He mirado el ejemplo que hay en este foro pero no me funciona, no se porque me podeis poner otro o explicarme como funciona para porde usarlo

Gracias, espero noticias.
__________________
;-)
  #2 (permalink)  
Antiguo 16/06/2004, 07:13
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Tienes que aplicar expresiones regulares para indentificar dentro de tu cadena (tu mensaje del foro por ejemplo .. texto) un "patrón" de un link .. done el formato está "normado" y puede ser por ejemplo: www.tal.tal o http://www.tal.tal entre otras cosas.

No tengo código a mano .. pero por ahí puedes buscar.

Un saludo,
  #3 (permalink)  
Antiguo 17/06/2004, 02:58
Avatar de rasmarko  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 78
Antigüedad: 21 años, 4 meses
Puntos: 1
Alternativa

Saludos.

Yo tengo la solución, espero y te sirva:

Cita:
<?php
$cadena = "Eso es un ejemplo de cadena, aqui pondremos una url: http://www.dise-web.com, aqui otra más: http://www.forosdelweb.com .... otra!!! http://www.sobreinternet.com";
$cadena = eregi_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", "<a href=\"\\0\">\\0</a>", $cadena);
echo $cadena;
?>
Evidentemente se reemplaza de $cadena los links. Obviamente puedes extraerlos de un campo de MySQL solo reemplazando con esto:

$cadena = eregi_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", "<a href=\"\\0\">\\0</a>", $cadena);

__________________
Fuentes - Diseweb - Frases Célebres
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 11:51.