Foros del Web » Programando para Internet » PHP »

Problema wordwrap etc

Estas en el tema de Problema wordwrap etc en el foro de PHP en Foros del Web. Hola buenas. Saco un registro de mi base de datos y le aplico esto para que recorra el texto y los enlaces aparezcan como tal. ...
  #1 (permalink)  
Antiguo 30/05/2012, 12:51
 
Fecha de Ingreso: febrero-2012
Mensajes: 24
Antigüedad: 12 años, 9 meses
Puntos: 0
Problema wordwrap etc

Hola buenas. Saco un registro de mi base de datos y le aplico esto para que recorra el texto y los enlaces aparezcan como tal.
Código PHP:
Ver original
  1. <?php
  2.     function url($text){
  3.         $text = html_entity_decode($text);
  4.         $text = " ".$text;
  5.         $text = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_+.~#?&//=]+)',
  6.                 '<a href="\1">\1</a>', $text);
  7.         $text = eregi_replace('(((f|ht){1}tps://)[-a-zA-Z0-9@:%_+.~#?&//=]+)',
  8.                 '<a href="\1">\1</a>', $text);
  9.         $text = eregi_replace('([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_+.~#?&//=]+)',
  10.         '\1<a href="http://\2">\2</a>', $text);
  11.         $text = eregi_replace('([_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3})',
  12.         '<a href="mailto:\1">\1</a>', $text);
  13.         return $text;
  14. }
  15. $pfinal=url(ucfirst(wordwrap($registro['p'], 55, "\n", true)));
  16. $tfinal=url(ucfirst(wordwrap($registro['t'], 55, "\n", true)));
  17.  
  18. ?>

Tengo varios problemas. Los enlaces aparecen bien, pero si por ejemplo un registro es 'WWWWWWWWWW' esas W salen como "enlace" y no van a ninguna parte. Además el wordwrap lo uso para que si alguien introduce todos los caracteres sin espacios no se me salgan del <div> y me deformen la página; pero el valor que le doy a wordwrap unas veces hace que se corte muy pronto y otras muy tarde (y sigue quedando fuera del div). Por ejemplo si pongo todo 'a' sin espacios se queda corto, pero con 'A' se sale igual...

Etiquetas: html, registro, wordwrap
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 13:00.