Здравствуйте задача такая, имеем переменную с ссылкой, из этой ссылки нужно достать нужные данные, если быть конкретным то вот пример. Имеем строку url "https://vk.com/id11111111?z=video11111111_12345" из нее нужно достать video11111111_12345 затем из него нужно вынуть 11111111 и 12345 присвоив их двум разным переменным. То есть имеем url с которого нам надо вынуть 11111111 и 12345. Это идентификатор юзера и объекта, они разные каждый раз, задача доставать их и обрабатывать дальше. Спасибо за ранние за помощь!
PHP 5.6
Нужно достать video11111111_12345 затем из него нужно вынуть 11111111 и 12345 присвоив их двум разным переменным
Для этого используют регулярные выражения:
$str = 'https://vk.com/id11111111?z=video11111111_12345';
$userID = $objID = false;
! preg_match('~video(\d+)_(\d+)~', $str, $arr) ?: list(, $userID, $objID) = $arr;
// $userID и $objID - ID пользователя и объекта соответственно
См. демо
Возможно есть более элегантное решение, но на первый взгляд как-то так:
$url = 'https://vk.com/id11111111?z=video11111111_12345';
$result = NULL;
parse_str(parse_url($url, PHP_URL_QUERY), $parse_str);
if (isset($parse_str['z']) && preg_match('|^video(\d*)_(\d*)$|i', $parse_str['z'], $parse_str)) {
$result = [$parse_str[1], $parse_str[2]];
}
var_dump($result);
Результат:
array(2) {
[0] => string(8) "11111111"
[1] => string(5) "12345"
}
Либо NULL, если входная ссылка не соответствует тому, что нам нужно.
Продвижение своими сайтами как стратегия роста и независимости