@burov0798
Пытаюсь изучать php\js

Как правильно составить регулярное выражение?

Есть текст:
http://api.vk.com/blank.html#access_token=7ada2a9807c5e450ac7b0a144f6730dc49fc5d584054b1953c9ec9485a65a4ec74ee2264b70a4293b8888&expires_in=0&user_id=338880723

Нужно выбрать текст между первым знаком = и знаком &.
Но если нет первого знака =, то просто удалить все после & (включительно)
Желательно с примером кода :)
  • Вопрос задан
  • 151 просмотр
Решения вопроса 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Покажите, что получается у Вас - мы подправим.
$re = "/token=([a-z0-9]+)/"; 
$str = "http://api.vk.com/blank.html#access_token=7ada2a9807c5e450ac7b0a144f6730dc49fc5d584054b1953c9ec9485a65a4ec74ee2264b70a4293b8888&expires_in=0&user_id=338880723"; 
     
preg_match($re, $str, $matches);
$token=$matches[1];
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
muhammad_97
@muhammad_97
PHP-разработчик
$url = "http://api.vk.com/blank.html#access_token=7ada2a9807c5e450ac7b0a144f6730dc49fc5d584054b1953c9ec9485a65a4ec74ee2264b70a4293b8888&expires_in=0&user_id=338880723";

$segments = explode('#', $url);
$hash = $segmetns[1];

foreach (explode('&', $hash) as $param) {
    list($key, $value) = explode('=', $param);
    $params[$key] = $value;
}

var_dump($params);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы