Foros del Web » Programando para Internet » PHP »

Ayuda con un preg_match algo complicado y comprobar si numeros en listas complejas

Estas en el tema de Ayuda con un preg_match algo complicado y comprobar si numeros en listas complejas en el foro de PHP en Foros del Web. Buenas, A ver si pudieran echarme una mano con lo siguiente. Ls situación es esta: yo tengo: -una cadena de texto -una array con una ...
  #1 (permalink)  
Antiguo 18/03/2010, 11:36
 
Fecha de Ingreso: agosto-2009
Mensajes: 15
Antigüedad: 15 años, 3 meses
Puntos: 0
Ayuda con un preg_match algo complicado y comprobar si numeros en listas complejas

Buenas,

A ver si pudieran echarme una mano con lo siguiente. Ls situación es esta: yo tengo:
-una cadena de texto
-una array con una serie de palabras
-un array con una serie de numeros

Ex:
Juan Pepito 28 Juan 21-45 Sergio 22,23 Manuel 14,16-24
array(Pepito, Juan, Sergio)
array(20,22,30)

Lo que necesito es comprobar que en el caso de que los nombres del primer array aparezcan en el texto y estos vienen seguidos de numeros (solos,separados por comas, o en un rango) estos numeros no incluyan a los especificados en el segundo array. (Nuse si me explicado bien)

Entonces habia pensado en, para cada nombre (bucle foreach) usar un preg_match que me pille el nombre+numeros (ex: Juan 21-45). Y tras ello comprobar que esos numeros no incluyen a los mios.

Entonces necesito ayuda con:
-la expresion a usar en el preg_match
-validar el tema de la coincidencia de numeros de manera eficiente (como los numeros pueden venir solo, separados por comas o en rango indistantamente no se me ocurre alguna manera de hacer la comprobacion de manera rapida, en el caso de que la haya)

Espero puedan ayudarme y muchas gracias por adelantado.
  #2 (permalink)  
Antiguo 18/03/2010, 11:40
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 2 meses
Puntos: 334
Respuesta: Ayuda con un preg_match algo complicado y comprobar si numeros en listas c

no se entiende
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 18/03/2010, 13:44
 
Fecha de Ingreso: agosto-2009
Mensajes: 15
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Ayuda con un preg_match algo complicado y comprobar si numeros en listas c

Okis aver si con un ejemplo mexplico mejor:

Supongamos que tenemos:

$cadena = 'Juan Pepito 28 Juan 21-45 Sergio 22,23-26 Manuel 16-24'
$nombres = array(Pepito, Juan, Sergio)
$numeros = array(20,22,30)

Necesito:
-comprobar si algun elemento de $nombres sale en $cadena
En el ejemplo sale, Juan dos veces, Pepito y Sergio

-Cojer los numeros que siguen a esos nombres en la cadena:
Juan -> nada
Pepito -> 28
Juan -> 21-45
Sergio -> 22,23-26

-Comprobar si los numeros en $numeros se encuentran entre los anteriores
Juan -> nada -> No aparece ninguno
Pepito -> 28 -> No aparece ninguno
Juan -> 21-45 -> El 22 y el 30 estarian dentro de ese rango
Sergio -> 22,23-26 -> El 22 aparece

Eso es lo que quiero lograr. ¿Alguna idea?

Lo que yo tenia en mente es usar un preg_match para obtener nombre+numeros en la cadena y una obtenido eso ponerme con la comprobacion den los numeros pero no se muy bien como lograrlo

Etiquetas: comprobar, listas, numeros
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 11:18.