stripos — фильтрует строку в переполнении стека

Я ищу, чтобы получить массив идентификаторов из следующей строки.

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

В идеале я хотел бы посмотреть на эту строку и получить массив значений INT в изображениях. например

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

0

Решение

найти значение изображения и взорвать его, чтобы получить массив

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

Другие решения

Другое решение с использованием 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
)
1

По вопросам рекламы [email protected]