Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/11/2011, 17:42
Asfo
 
Fecha de Ingreso: octubre-2009
Mensajes: 25
Antigüedad: 14 años, 7 meses
Puntos: 5
Problemas con preg_replace()

Hola a todos en Foros del Web, bueno, les traigo por aquí un problema que no comprendo realmente... llevo ya 1 hora promedio intentando arreglarlo pero simplemente no puedo y ya busque demasiado en Google y no comprendo las respuestas, así que ya por último me he decidido a pedir ayuda

Bueno, mi problema es que descargué un script el cual trabaja como el sistema de "muro" de Facebook, el código está horrible, funciones viejas y 'deprecated', así que me puse a limpiarlo y mejorarlo para que pueda ser implementado en casi cualquier página, por desgracia una función 'deprecated' (eregi_replace()) estaba aquí, la cual convierte, en una string, las urls que puedan haber, pero como está ya marcada para PHP 5.3.0 como deprecated, pues la reemplacé con preg_replace() como dice en el manual de PHP, sin embargo me tira el siguiente error:

Cita:
Warning: preg_replace() [function.preg-replace]: Unknown modifier '(' in ..\includes\Class.Wall.php on line 66
Ahora bien, el código es:

Código PHP:
public function toLink($text){
        
$text html_entity_decode(trim($text));
        
$text " ".$text;
        
$text preg_replace("(((f|ht){1}tp://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)"'<a href="\\1">\\1</a>'$text);
        
$text preg_replace("(((f|ht){1}tps://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)",'<a href="\\1">\\1</a>'$text);
        
$text preg_replace("([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_\+.~#?&//=]+)",'\\1<a href="http://\\2">\\2</a>'$text);
        
$text preg_replace("([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3})",'<a href="mailto:\\1">\\1</a>'$text);
        return 
$text;
    } 
La línea 66 es:

Código PHP:
$text preg_replace("([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_\+.~#?&//=]+)",'\\1<a href="http://\\2">\\2</a>'$text); 
Espero me puedan ayudar a resolver este problema ^^.

De antemano, muchas gracias.