如何使用 preg match all 获取值

how to get value using preg match all

如何获取这个值?

background-image: url("bg.png");

我试过了但没用

preg_match_all('/background-image: url("|\'|)(.*?)("|\'| );/s', $css, $getcolor1);

在您的简单情况下,使用 preg_match 函数就足够了:

$str = 'background-image: url("bg.png")';
preg_match('/"([^"]+)"/', $str, $m);

print_r($m[1]);

输出:

bg.png

您可以使用以下代码:

<?php
$css = 'background-image: url("bg.png");background-image: url("bg_2.png");';

preg_match_all('/background-image: url\((\"|\')(.*?)(\"|\')\)/', $css, $matches);

echo 'with background-image';
print_r($matches[0]);

echo 'without background-image';
print_r($matches[2]);

输出:

with background-image:
Array
(
    [0] => background-image: url("bg.png")
    [1] => background-image: url("bg_2.png")
)

without background-image:
Array
(
    [0] => bg.png
    [1] => bg_2.png
)