Título: Expresion regular no me funciona :( Publicado por: Diabliyo en 25 Marzo 2016, 19:29 pm Buen dia.
Tengo el sig. hash: Código: [6534454|10|356|http://mipagina.com/imagen.jpg|Titulo de la publicacion - Dato #123, mas cosas|10|10|5|2] Y la expresion que estoy pasando es: preg_match_arr( $hash, $exp, $buf ); Código: /\[([0-9a-zA-Z]{1,})\|([0-9]{1,})\|([0-9.,]{1,})\|([0-9a-zA-Z:._\-/]{1,})\|([0-9a-zA-Z.,:+_\-/+\s\S#]{1,})\|([0-9]{1,})\|([0-9]{1,})\|([0-9]{1,})\|([0-9]{1,})\]/g Probe mi expresion en http://regexr.com/ y me dice 1 match. Pero en mi programa no me retorna el array, me retorna como si no hubiera habido expresión :( Código: $data= '[6534454|10|356|http://mipagina.com/imagen.jpg|Titulo de la publicacion - Dato #123, mas cosas|10|10|5|2]'; Título: Re: Expresion regular no me funciona :( Publicado por: Shell Root en 25 Marzo 2016, 21:25 pm Intenta así,
Código
Título: Re: Expresion regular no me funciona :( Publicado por: Diabliyo en 26 Marzo 2016, 03:48 am Y como esta eso del uso de la @ ???
Título: Re: Expresion regular no me funciona :( Publicado por: Shell Root en 28 Marzo 2016, 16:34 pm Es un delimintador igual que \ o /
Título: Re: Expresion regular no me funciona :( Publicado por: Diabliyo en 28 Marzo 2016, 18:38 pm De antemano gracias [b.Alex.[/] por su tiempo, pero fijate que la expresion regular no funciona cuando hay mas de una incidencia :(
Por ejemplo, tengo el siguiente hash: Código: [6534454|3|356|http://miweb.com/imagen.jpg|Titulo uno|10|10|5|2][368582181|3|452|http://miweb.com/otrafoto.jpg|Titulo dos|10|10|5|2] Se supone que deberia retornar un arreglo de dos, que dentro lleve los elementos :(.... El hash es conformado asi: [ID|numero|numero|imagen|titulo|numero|numero|numero|numero] El [ marca inicio. El ] marca fin. Este hash lo envio por API a otro servidor donde se supone paso el preg_match_all y hago la insercion en la BDD, pero sigue igual.. no extrae la info bien.... Solo me retorna una coincidencia en vez de dos y mandarme un array de dos con su respectiva info. Saludos ! ---------------- SOLUCIONADO Solo omiti el \S de la expresión regular. |