Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Obtener varias subcadenas con expresiones regulares

Estas en el tema de Obtener varias subcadenas con expresiones regulares en el foro de PHP en Foros del Web. Hola. Tengo esta cadena: Código PHP: $cadena = 'Los "detalles de cómo" trabaja esta función "se encuentra" e"n" la documentación' ;  Quiero obtener estas tres subcadenas: Código: 1. detalles de cómo 2. se encuentra 3. n ...
  #1 (permalink)  
Antiguo 21/09/2015, 19:26
Avatar de saulortega  
Fecha de Ingreso: septiembre-2011
Ubicación: Bogotá
Mensajes: 79
Antigüedad: 12 años, 7 meses
Puntos: 0
Obtener varias subcadenas con expresiones regulares

Hola.

Tengo esta cadena:

Código PHP:
$cadena='Los "detalles de cómo" trabaja esta función "se encuentra" e"n" la documentación'
Quiero obtener estas tres subcadenas:

Código:
1. detalles de cómo
2. se encuentra
3. n
Mi intento:

Código PHP:
$e=preg_match_all('/".+"/'$bu$arr); 
Pero me devuelve esto:

Código:
"detalles de cómo" trabaja esta función "se encuentra" e"n"
¿Entonces cómo es?
  #2 (permalink)  
Antiguo 21/09/2015, 19:30
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Obtener varias subcadenas con expresiones regulares

La expresión .+ es demasiado ambiciosa, por eso consume todos los caracteres hasta el final de las comillas.

Debes hacerla menos ambiciosa, cambia de .+ a .+? y listo.

PDTA: te sugiero visitar el sub foro de RegExp pues este problema no tiene nada que ver con PHP.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 21/09/2015, 19:34
Avatar de saulortega  
Fecha de Ingreso: septiembre-2011
Ubicación: Bogotá
Mensajes: 79
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Obtener varias subcadenas con expresiones regulares

Guao.

Sí señor, muchas gracias.
  #4 (permalink)  
Antiguo 21/09/2015, 19:59
Avatar de saulortega  
Fecha de Ingreso: septiembre-2011
Ubicación: Bogotá
Mensajes: 79
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Obtener varias subcadenas con expresiones regulares

Aprovecho para una segunda consulta.


Código PHP:
$b preg_replace('/ de | los | las | el | la /i'' '$bu); 
Si hay más de un parámetro de búsqueda juntos sólo reemplaza el primero. Por ejemplo la cadena "...bla de los bla bla..." me retorna "...bla los bla bla...".

¿Cómo hago para que los reemplace todos? (Y que no sea haciendo una segunda pasada a la cadena resultante, pues).

Probé con paréntesis de varias maneras, pero nada...

Etiquetas: expresiones, regulares
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:54.