elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Expresion regular no me funciona :(
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Expresion regular no me funciona :(  (Leído 2,011 veces)
Diabliyo


Desconectado Desconectado

Mensajes: 1.441


shell# _


Ver Perfil WWW
Expresion regular no me funciona :(
« 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]';

preg_match_all( '/\[([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', $data, $out );

echo ( !is_array($out) ? '... No es array...':'... si es array...');

# me imprime: "No es array"


En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: Expresion regular no me funciona :(
« Respuesta #1 en: 25 Marzo 2016, 21:25 pm »

Intenta así,

Código
  1. $Data   = '[6534454|10|356|http://mipagina.com/imagen.jpg|Titulo de la publicacion - Dato #123, mas cosas|10|10|5|2]';
  2. $ExpReg = '@\[([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,})\]@';
  3. preg_match_all( $ExpReg, $Data, $DataOut );


En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
Diabliyo


Desconectado Desconectado

Mensajes: 1.441


shell# _


Ver Perfil WWW
Re: Expresion regular no me funciona :(
« Respuesta #2 en: 26 Marzo 2016, 03:48 am »

Y como esta eso del uso de la @ ???
En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: Expresion regular no me funciona :(
« Respuesta #3 en: 28 Marzo 2016, 16:34 pm »

Es un delimintador igual que \ o /
En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
Diabliyo


Desconectado Desconectado

Mensajes: 1.441


shell# _


Ver Perfil WWW
Re: Expresion regular no me funciona :(
« Respuesta #4 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.
« Última modificación: 28 Marzo 2016, 18:53 pm por Diabliyo » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Expresión regular « 1 2 3 »
PHP
IWKY 29 19,428 Último mensaje 25 Enero 2010, 23:57 pm
por ~ Yoya ~
Problema con expresión regular
PHP
egyware 7 5,659 Último mensaje 12 Febrero 2010, 00:32 am
por ~ Yoya ~
ayudita expresion regular « 1 2 3 4 »
Programación Visual Basic
viher 38 11,559 Último mensaje 6 Noviembre 2010, 21:25 pm
por Psyke1
Ayuda con Expresión Regular
Desarrollo Web
Shell Root 4 4,116 Último mensaje 10 Abril 2011, 22:26 pm
por Shell Root
Expresión regular email
PHP
Littl3 1 2,798 Último mensaje 20 Septiembre 2011, 23:06 pm
por ~ Yoya ~
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines