Foros del Web » Programando para Internet » PHP »

Expresiones regulares + preg_match

Estas en el tema de Expresiones regulares + preg_match en el foro de PHP en Foros del Web. Buenas, ya casi termino de hacer una aplicación, me falta sólo obtener 2 valores de una página HTML. A ver, necesito obtener los valores que ...
  #1 (permalink)  
Antiguo 11/05/2012, 18:13
Avatar de alopezblue  
Fecha de Ingreso: abril-2012
Ubicación: Nicaragua
Mensajes: 21
Antigüedad: 12 años
Puntos: 0
Expresiones regulares + preg_match

Buenas, ya casi termino de hacer una aplicación, me falta sólo obtener 2 valores de una página HTML.

A ver, necesito obtener los valores que están entre [ ] a partir de las siguientes etiquetas:

Primera etiqueta

Código HTML:
<a class="btn btnD mfss touchable" id="m_join_button" href="/a/events/join.php?id=282696061823992&amp;ctx=perm&amp;gfid=[AQAk8uKxp3WTK9QT]&amp;ref=bookmark" role="button" data-sigil="blocking-touchable ajaxify">Participar</a> 
Segunda etiqueta

Código HTML:
<input type="hidden" name="fb_dtsg" value="[AQB4xUE1]" autocomplete="off"> 
Me gustaría saber qué patrón de expresiones regulares podría usar en preg_match para obtener dichos valores (entre corchetes).

Intenté con estas expregs:

"/<a.*?href\s*=\s*['\"](.*?)['\"]/" --> para la primera etiqueta

"/input type=\"hidden\" name=\"fb_dtsg\" value=\".*?\" autocomplete=\"off\"/i"; --> para la segunda etiqueta

Y nada. En el uso de expreregs, la verdad no comprendo mucho y no doy con ellas. Alguien que pudiera echarme una mano ??

Gracias de antemano.
  #2 (permalink)  
Antiguo 26/12/2012, 14:17
Avatar de JorM  
Fecha de Ingreso: diciembre-2012
Ubicación: Argentina
Mensajes: 53
Antigüedad: 11 años, 3 meses
Puntos: 2
Respuesta: Expresiones regulares + preg_match

Código PHP:
Ver original
  1. <?php
  2. $str = '
  3. <a class="btn btnD mfss touchable" id="m_join_button" href="/a/events/join.php?id=282696061823992&amp;ctx=perm&amp;gfid=[AQAk8uKxp3WTK9QT]&amp;ref=bookmark" role="button" data-sigil="blocking-touchable ajaxify">Participar</a>
  4.  
  5. <a class="btn btnD mfss touchable" id="m_join_button" href="/a/events/join.php?id=282696061823992&amp;ctx=perm&amp;gfid=[qteyQBGhFV8]&amp;ref=bookmark" role="button" data-sigil="blocking-touchable ajaxify">Participar</a>
  6.  
  7. <input type="hidden" name="fb_dtsg" value="[AQB4xUE1]" autocomplete="off"> ';
  8.  
  9. $expr = '#\[[a-zA-Z0-9]+\]#'; //EXPRESION
  10. $mCount = preg_match_all($expr,$str,$arrMatches);
  11. foreach($arrMatches[0] as $values){
  12.   echo $values.'<br/>';
  13. }
  14. ?>

Esta expresión te recopila todas las posibilidades siempre y cuando esten contenidas entre [...] y '...' sea igual a cualquier palabra alfanumerica con mayusculas y minusculas y los 10 digitos.

Si miras el codigo, agrege otro link para utilizarlo como ejemplo.
Si pruebas ejecutar dicho codigo mostrara en pantalla:

Código Pantalla:
Ver original
  1. [AQAk8uKxp3WTK9QT]
  2. [qteyQBGhFV8]
  3. [AQB4xUE1]

Espero te sirva.
Saludos!

Etiquetas: expresiones, html, 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 16:05.