Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Expresión regular

Estas en el tema de Expresión regular en el foro de PHP en Foros del Web. Hola colegas, he conseguido la siguiente expresión regular: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $rex = "/property= \" og:image \" (?:content=[\' \" ]([^\' \" ]+)[\' ...
  #1 (permalink)  
Antiguo 13/04/2016, 12:22
 
Fecha de Ingreso: abril-2015
Ubicación: Bogotá D.C - Colombia
Mensajes: 106
Antigüedad: 8 años, 11 meses
Puntos: 11
Expresión regular

Hola colegas, he conseguido la siguiente expresión regular:

Código PHP:
Ver original
  1. $rex = "/property=\"og:image\" (?:content=[\'\"]([^\'\"]+)[\'\"])/?";

y tengo un pequeño problema, esta expresión toma un meta tag con el atributo og:image
A continuación pongo la estructura normal.

Código HTML:
Ver original
  1. <meta property="og:image"  content="http://ruta_de_una_imagen.jpg">

Al pasar la expresión regular por un meta tag con la estructura anterior funciona y logro extraer la URL de la imagen (contenido content=) que es lo que me interesa.

Pero cuando el meta tag, tiene más atributos:
Código HTML:
Ver original
  1. <meta property="og:image" itemprop="image primaryImageOfPage" content="http://ruta_de_una_imagen.jpg">

La expresión es interrumpida por el atributo itemprop o cualquier otro que ponga claramente, conocen como hacer que la expresión regular que planteo no le importe si hay o no más atributos, o podrían ayudarme un poco con el tema, en realidad con estas expresiones estoy un poco desorientado y no lo conozco muy bien.

de antemano agradezco toda la ayuda prestada!
  #2 (permalink)  
Antiguo 13/04/2016, 12:26
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: Expresión regular

Agrega un patrón para descartar atributos intermedios:
Cita:
/foo="bar".*?baz="buzz"/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 13/04/2016, 12:46
 
Fecha de Ingreso: abril-2015
Ubicación: Bogotá D.C - Colombia
Mensajes: 106
Antigüedad: 8 años, 11 meses
Puntos: 11
Respuesta: Expresión regular

Cita:
Iniciado por pateketrueke Ver Mensaje
Agrega un patrón para descartar atributos intermedios:
Hey amigo! En hora buena! no pensé obtener respuesta tan rápido, tu recomendación me ha sacado del lio, muchas gracias.

La expresión me ha quedado así; y ha funcionado de maravilla.

Código PHP:
Ver original
  1. $rex = "/property=\"og:image\" .*(?:content=[\'\"]([^\'\"]+)[\'\"])/";

Saludos desde Colombia

Etiquetas: regular
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 05:46.