Foros del Web » Programando para Internet » PHP »

Urls linkeables

Estas en el tema de Urls linkeables en el foro de PHP en Foros del Web. Hola amigos, encontre por ahi este codigo, para hacer linkeable cualquier url que escribimos en un texto cualquiera, pero no entiendo su funcionamiento, me refiero ...
  #1 (permalink)  
Antiguo 13/08/2010, 19:13
 
Fecha de Ingreso: septiembre-2009
Mensajes: 402
Antigüedad: 14 años, 7 meses
Puntos: 6
Urls linkeables

Hola amigos, encontre por ahi este codigo, para hacer linkeable cualquier url que escribimos en un texto cualquiera, pero no entiendo su funcionamiento, me refiero a donde va ingresado el texto, el cogido es el siguiente:
$texto = str_replace("\r", "", $texto);

$texto = preg_replace("/(http:\/\/[^(\)|[:space:])]*)\)/",
"<a href=\"\\1\" target=\"_blank\">\\1</a>)",
$texto);

$texto = preg_replace("/(http:\/\/[^([:space:]|\"|\<)]*)[[:space:]]/",
"<a href=\"\\1\" target=\"_blank\">\\1</a> ",
$texto);

$texto = preg_replace("/\<a href=\"(.*globbal.*)\" target=\"_blank\"\>/",
"<a href=\"\\1\">",
  #2 (permalink)  
Antiguo 13/08/2010, 19:42
 
Fecha de Ingreso: enero-2009
Ubicación: Uruguay
Mensajes: 121
Antigüedad: 15 años, 3 meses
Puntos: 4
Respuesta: Urls linkeables

la funcion preg_replace de php lo que hace es segun una expresion regular buscar en el texto (en este caso $texto) y si encuentra algo que concuerde con la expresion regular los edita por el segundo parametro de la funcion

$texto = preg_replace("ExpresionRegular", "Como Queda", $texto);

fijate que en el segundo parametro tenes unos 1 yo los pongo $1 que serian en tu caso la url entonces este preg_replace lo pone en el href del link y en el nombre del link.

quizas te sirvan

http://www.spedevigner.com/cake/Noticias/view/74

http://www.spedevigner.com/cake/Noticias/view/79

son temas sobre expresiones regulares en php
al principio te va a aparecer muy raro todos los simbolos pero con practica no es tan dificil de entender.
Saludos
__________________
www.sandant.com - Blog de Programacion y mucho mas

WWW.SPEDEVIGNER.COM SE DEJARA DE USAR EN UN MES
  #3 (permalink)  
Antiguo 14/08/2010, 06:13
 
Fecha de Ingreso: septiembre-2009
Mensajes: 402
Antigüedad: 14 años, 7 meses
Puntos: 6
Respuesta: Urls linkeables

hola como estas, antes que nada gracias por la respuesta, encontre solucion para hacer funcionar eso, de la siguiente manera
function makeClickableLinks($text) {
$text = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)',
'<a href="\\1">\\1</a>', $text);
$text = eregi_replace('([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_\+.~#?&//=]+)',
'\\1<a href="http://\\2" target="_blank">\\2</a>', $text);
$text = eregi_replace('([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3})',
'<a href="mailto:\\1">\\1</a>', $text);
return $text;
}
pero lo que pude ver, es que si queiro aplicarle al texto la funcion wordwrap, para que corte y salte de lineas, la funcion ya no funciona (valga la redundancia) correctamente, y no entiendo porque

Etiquetas: url
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 03:54.