Foros del Web » Programando para Internet » PHP »

Error con función preg_replace

Estas en el tema de Error con función preg_replace en el foro de PHP en Foros del Web. Hola que tal, estoy tratando de convertir una cadena que contenga urls que empiezen en http:// y que las convierta en enlaces busqué información de ...
  #1 (permalink)  
Antiguo 09/07/2010, 10:36
Avatar de kdario  
Fecha de Ingreso: junio-2010
Ubicación: Acapulco, Mex.
Mensajes: 40
Antigüedad: 14 años, 4 meses
Puntos: 1
Error con función preg_replace

Hola que tal, estoy tratando de convertir una cadena que contenga urls que empiezen en http:// y que las convierta en enlaces
busqué información de como hacerlo y encontré esta función

preg_replace();

pero al ejecutarse el script me tira este error

Warning: preg_replace() [function.preg-replace]: Unknown modifier '/' in C:\AppServ\www\pruebas\intlink.php on line 3

y este es el codigo de mi script php

Código PHP:
<?
$txt 
"<p>Visitanos en : http://www.tutores.org Scripts, codigos ..."
$txt preg_replace'/(http|ftp)+(s)?:(//)((w|.)+)(/)?(S+)?/i''<a href=""></a>'$txt ); 
echo 
$txt
?>
(es un ejemplo que aún no modifico, solo pruebo en mi servidor)

que puede estar mal?

desde ya muchas gracias por su ayuda

Última edición por kdario; 09/07/2010 a las 10:42
  #2 (permalink)  
Antiguo 09/07/2010, 10:40
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: Error con función preg_replace

/(http|ftp)+(s)?:(//)((w|.)+)(/)?(S+)?/i

tienes un delimitador al medio de la expresion
para evitar eso o cambias el delimitador
o escapas los signos dentro de la expresion

option 1
Código PHP:
Ver original
  1. $regex = "#(http|ftp)+(s)?:(//)((w|.)+)(/)?(S+)?#i";
option 2
Código PHP:
Ver original
  1. $regex = "/(http|ftp)+(s)?:(\/\/)((w|.)+)(\/)?(S+)?/i";
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 09/07/2010, 11:07
Avatar de kdario  
Fecha de Ingreso: junio-2010
Ubicación: Acapulco, Mex.
Mensajes: 40
Antigüedad: 14 años, 4 meses
Puntos: 1
Respuesta: Error con función preg_replace

Muchas gracias

eso me solucionó el error, pero no muestra el link, a que se debe?
  #4 (permalink)  
Antiguo 09/07/2010, 11:21
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 19 años, 5 meses
Puntos: 88
Respuesta: Error con función preg_replace

no soy bueno en esto de las expresiones regulares, apenas las voy leyendo, pero creo que esto te puede servir
Código PHP:
Ver original
  1. $patron='#(http|ftp)(s)?://(www\.)?(\w+)\.(com|net|org)(/\w+)?(/)?#';
  2. $cadena='esto es un link: http://www.abc.com/algo/ y este otro mas: http://www.blah.com/algo y uno mas: ftp://otramas.net';
  3. echo '<br/><br/>';
  4. echo preg_replace($patron,'<a href="\\0">\\0</a>',$cadena);
saludos
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #5 (permalink)  
Antiguo 09/07/2010, 14:00
Avatar de kdario  
Fecha de Ingreso: junio-2010
Ubicación: Acapulco, Mex.
Mensajes: 40
Antigüedad: 14 años, 4 meses
Puntos: 1
Respuesta: Error con función preg_replace

wow, este va de maravilla, gracias eits!

Etiquetas: likns, preg, replace
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 12:07.