2017-02-22 3 views
0

У меня есть этот URL, и я хочу, чтобы получить только URL в той части, где она имеет .ipa файл:Как извлечь определенную часть из URL с PHP

http://sdl.haima.me/dl.ashx?s=8b000d38-3605-418b-8eb9-37d57f4ba24d&b=com.imagility.evergrow&v=12020&u=http%3a%2f%2fhot.haima.me%2fee%2f201702%2f1776%2fcom.imagility.evergrow_12020_20170217141048_3_fp1q5w.ipa&m=81e26501dc93bc73bec5ae8f1e7cb3c5&k=

Таким образом, с что я хочу только это:

HTTP% 3A% 2F% 2fhot.haima.me% 2fee% 2f201702% 2f1776% 2fcom.imagility.evergrow_12020_20170217141048_3_fp1q5w.ipa

Тогда я хочу, чтобы быть расшифрованы, поэтому я хочу, чтобы в конечном итоге с:

http://hot.haima.me/ee/201702/1776/com.imagility.evergrow_12020_20170217141048_3_fp1q5w.ipa

Я хочу, чтобы этот URL, чтобы быть в переменной. Он является частью объекта внутри API, поэтому доступ к первому очень длинному URL-адресу аналогичен $jsonRoot->data->app1->ipaURL.

ответ

3

Используйте функцию для синтаксического анализа строки в переменных. Он декодирует для вас:

parse_str(parse_url($url, PHP_URL_QUERY), $vars); 
echo $vars['u']; 
  • Используйте parse_url(), чтобы получить строку запроса
  • Используйте parse_str() для разбора в переменные в $vars
  • Access индекс u в $vars

Урожайность:

http://hot.haima.me/ee/201702/1776/com.imagility.evergrow_12020_20170217141048_3_fp1q5w.ipa 

Это предполагается, что URL-адрес находится в u. Если нет, то Grep для него:

echo current(preg_grep('/\.ipa/', $vars)); 
0

Взгляните на этот простой демонстрации:

<?php 
$input = 'http://sdl.haima.me/dl.ashx?s=8b000d38-3605-418b-8eb9-37d57f4ba24d&b=com.imagility.evergrow&v=12020&u=http%3a%2f%2fhot.haima.me%2fee%2f201702%2f1776%2fcom.imagility.evergrow_12020_20170217141048_3_fp1q5w.ipa&m=81e26501dc93bc73bec5ae8f1e7cb3c5&k='; 
$query = parse_url($input, PHP_URL_QUERY); 
foreach (explode('&', $query) as $arg) { 
    list($key, $val) = explode('=', $arg); 
    if ('u'===$key) { 
     echo urldecode($val); 
    } 
} 

Выход, очевидно, является:

http://hot.haima.me/ee/201702/1776/com.imagility.evergrow_12020_20170217141048_3_fp1q5w.ipa

Смежные вопросы