Foros del Web » Programando para Internet » PHP »

Problema NO resuelto

Estas en el tema de Problema NO resuelto en el foro de PHP en Foros del Web. hola amigos del foro, quiero consultarles sobre algo que nadie supo darme una respuesta certera. el tema es el siguiente, tengo en una web un ...
  #1 (permalink)  
Antiguo 03/09/2010, 20:33
 
Fecha de Ingreso: septiembre-2009
Mensajes: 402
Antigüedad: 14 años, 7 meses
Puntos: 6
Problema NO resuelto

hola amigos del foro, quiero consultarles sobre algo que nadie supo darme una respuesta certera.
el tema es el siguiente, tengo en una web un campo de formulario, mediante el usuario ingresa un comentario cualquiera, y deseo que al llegar este comentario por ejemplo a 80 caracteres, haga un salto de linea
yo se que puedo utilizar la funcion wordwrap para lograr esta funcion, pero hay un agregado mas, mediante esta funcion:
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;
}
logro que a todo texto linkeable ke el usuario ingresa, se genere automaticamente un link a la pagina, hasta ahi todo bien, pero en la ultima parte viene el problema
cuando le aplico la funcion wordwrap a la funcion,dde la siguiente manera:
$width= 50;
$break= "<br />\n";
$cut= true;
echo wordwrap(makeClickableLinks($text),$width,$break,$ cut);
y escribo un texto linkeable, me sale impreso de la siguiente manera:
hola target="_blank">www.hotmail.com (el texto es solo un ejemplo)
entonces, se nota que la funcion wordwrap no es compatible con la funcion ke hace linkeable el texto, o estoy haciendo algo mal.
alguien puede ayudarme?
muchas gracias, saludos a todos
  #2 (permalink)  
Antiguo 03/09/2010, 21:01
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Respuesta: Problema NO resuelto

No se lo apliques al link, si no al texto del link. Es decir, dentro de la función makeClickableLinks, pero solo al texto: <a>a este texto</a>
  #3 (permalink)  
Antiguo 03/09/2010, 21:35
 
Fecha de Ingreso: septiembre-2009
Mensajes: 402
Antigüedad: 14 años, 7 meses
Puntos: 6
Respuesta: Problema NO resuelto

exelente!!! mil gracias por la respuesta, solucion perfecta!
paso como lo hice por si a alguien le sirve:
---------------------------------------------------------------------------
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;
}
$width= 50;
$break= "<br />\n";
$cut= true;
echo makeClickableLinks(wordwrap($text, $width, $break, $cut))
------------------------------------------------------------------------------
muchas gracias, saludos, ariel

Cita:
Iniciado por claudiovega Ver Mensaje
No se lo apliques al link, si no al texto del link. Es decir, dentro de la función makeClickableLinks, pero solo al texto: <a>a este texto</a>

Etiquetas: Ninguno
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 17:35.