/ / PHP regex coincidencia exacta en múltiples citas - php, regex

Coincidencia exacta de expresiones regulares de PHP en múltiples citas - php, regex

Tengo esta cadena (o similar):

<img data-src="/images/useJS: "true", useZoom: "#zoom1", image_big: "//cdn.example.com/big.jpg", image_orig: "//cdn.example.com/orig.gif", image_icon: "//thisDomain.com/images/icon.png"" />
...

Estoy usando esta expresión regular en preg_match_all:

preg_match_all("/:s?("[^"]+(.jpe?g|.gif|.png)")/siU", $string, $match);

Los partidos son:

[1][0] => : ", useZoom: "#zoom1", image_big: "//cdn.example.com/big.jpg"
[1][1] => : "//cdn.example.com/big.jpg"
...

Me gusta el segundo partido solo y sin coma en expresiones regulares. No me gusta la primera coincidencia, solo necesito la imagen de uri.

Respuestas

0 para la respuesta № 1

Utilizar esta:

preg_match_all("/"[^"]+.(?:jpe?g|gif|png)"/", $string, $match);

Cambié [^"]+ a [^"]+, por lo que esto solo hará coincidir las cadenas entre comillas simples que terminan en una de las extensiones. Además, necesitas escapar. . antes de las extensiones por lo que será emparejado literalmente.

MANIFESTACIÓN