在PHP中过滤字符串

在PHP中过滤字符串,php,stripos,Php,Stripos,我希望从下面的字符串中获得一个ID数组 [vc\u gallery type=“flexslider\u fade”interval=“3”images=“30572141234”onclick=“link\u image”自定义链接\u target=“\u self”img\u size=“large”] 理想情况下,我希望查看这个字符串并在图像中获得一个INT值数组。e、 g 数组(“3057”、“2141”、“234”)查找图像值并将其分解以接收数组 $str = '[vc_galler

我希望从下面的字符串中获得一个ID数组

[vc\u gallery type=“flexslider\u fade”interval=“3”images=“30572141234”onclick=“link\u image”自定义链接\u target=“\u self”img\u size=“large”]

理想情况下,我希望查看这个字符串并在图像中获得一个INT值数组。e、 g


数组(“3057”、“2141”、“234”)

查找图像值并将其分解以接收数组

$str = '[vc_gallery type="flexslider_fade" interval="3" images="3057,2141,234" onclick="link_image" custom_links_target="_self" img_size="large"]';

if (preg_match('/images\s*=\s*\"([^\"]+)\"/', $str, $m)) {
   $res = explode(',', $m[1]);
   print_r($res);
}

找到图像值并将其分解以接收数组

$str = '[vc_gallery type="flexslider_fade" interval="3" images="3057,2141,234" onclick="link_image" custom_links_target="_self" img_size="large"]';

if (preg_match('/images\s*=\s*\"([^\"]+)\"/', $str, $m)) {
   $res = explode(',', $m[1]);
   print_r($res);
}

另一种使用
explode
strpos
功能的解决方案:

$str = '[vc_gallery type="flexslider_fade" interval="3" images="3057,2141,234" onclick="link_image" custom_links_target="_self" img_size="large"]';

foreach (explode(" ", $str) as $v) {
    if (strpos($v, "images=") === 0) {
        $result = explode(",", explode('"', $v)[1]);
        break;   // avoids redundant iterations
    }
}

print_r($result);
输出:

Array
(
    [0] => 3057
    [1] => 2141
    [2] => 234
)

另一种使用
explode
strpos
功能的解决方案:

$str = '[vc_gallery type="flexslider_fade" interval="3" images="3057,2141,234" onclick="link_image" custom_links_target="_self" img_size="large"]';

foreach (explode(" ", $str) as $v) {
    if (strpos($v, "images=") === 0) {
        $result = explode(",", explode('"', $v)[1]);
        break;   // avoids redundant iterations
    }
}

print_r($result);
输出:

Array
(
    [0] => 3057
    [1] => 2141
    [2] => 234
)

值(图像内部)的数量是否变化?是的,它可能不存在,或者可能有任何数量,以逗号分隔。值(图像内部)的数量是否变化?是的,它可能不存在,或者可能有任何数量,以逗号分隔。与stripos相比,这样做有什么好处?有许多变体。您可以使用stripos。有时可以使用explode与stripos相比有什么好处?有很多变体。您可以使用stripos。有时可以使用爆炸