在PHP中过滤字符串

时间:2016-05-15 15:43:41

标签: php stripos

我正在寻找以下字符串中的ID数组。

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

理想情况下,我想查看此字符串并获取图像中INT值的数组。 e.g。

array("3057", "2141", "234");

2 个答案:

答案 0 :(得分:4)

查找图像值并将其爆炸以接收数组

$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);
}

答案 1 :(得分:1)

使用explodestrpos函数的另一种解决方案:

$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
)