Foros del Web » Creando para Internet » Diseño web »

Hacer urls linkeables

Estas en el tema de Hacer urls linkeables en el foro de Diseño web en Foros del Web. Hola amigos, quiero hacerles una consulta, tengo una pagina en donde el usuario puede dejar comentarios mediante un simple campo de texto de un formulario ...
  #1 (permalink)  
Antiguo 29/03/2010, 12:38
 
Fecha de Ingreso: septiembre-2009
Mensajes: 402
Antigüedad: 8 años, 2 meses
Puntos: 6
Hacer urls linkeables

Hola amigos, quiero hacerles una consulta, tengo una pagina en donde el usuario puede dejar comentarios mediante un simple campo de texto de un formulario
y el comentario sale impreso en pantalla, entonces, mediante esta funcion

function ponerLinks( $str ){
$tmp = eregi_replace('((ftp|http|www)[[email protected]:%_\+.~#?&//=]+)', '<a href="\\1" target="_blank">\\1</a>', $str);
#Si esto se puede integrar en la regex sería mejor aún....
return str_replace('href="www.','href="http://www.', $tmp);
}

hago que cualquier link que ingrese el usuario, automaticamente se transforme en un link activo hacia el sitio, hasta ahi todo bien.
pero aparte le aplique tambien al texto ingresado, la funcion wordwrap para que limite la cantidad de caracteres y me haga un salto de linea, de modo que no de desconfigure la pantalla si el usuario ingresa un comentario muy extenso.
lo hice del siguiente modo

$str= $_POST['comentario'];
$width= 50;
$break= "<br />\n";
$cut= true;

echo wordwrap(ponerLinks($str), $width, $break, $cut);

pero sucede que cuando uno ingresa un comentario en donde hay una url cualquiera la misma no sale bien impresa sino que sale asi

target="_blank">www.globbal.com.ar
y si clikeo aparte la pagina no se abre en una nueva ventana sino que se abre en la misma
por que puede estar pasando eso??
Saludos a todos y gracias
Ariel

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 02:40.