Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/03/2010, 11:38
apustilnik
 
Fecha de Ingreso: septiembre-2009
Mensajes: 402
Antigüedad: 14 años, 7 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)[-a-zA-Z0-9@:%_\+.~#?&//=]+)', '<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