PHP regex: Как извлечь URL и отфильтровать & quot; \ & quot; из конкретной строки

Я новичок в программировании; Теперь у меня есть некоторые проблемы с программированием на PHP.

Я хочу извлечь URL из следующего string:

"success":true,"load":"http:\/\/8.88.88.8\/list\/si3diwoe\/123","Live":true

Желаемый string является

http://8.88.88.8/list/si3diwoe/123

Может кто-нибудь сказать мне, как это работает в коде?
Большое спасибо!

-1

Решение

$string = '"success":true,"load":"http:\/\/8.88.88.8\/list\/si3diwoe\/123","Live":true';

// The JSON way
$array = json_decode('{' . $string . '}'); // Wrap in {} to make object
$url   = $array->load;
echo "Using JSON : $url", PHP_EOL;

// The RegEx way
preg_match('/load":"(.*?)"/', $string, $matches);
$url = stripslashes($matches[1]);
echo "Using RegEx: $url", PHP_EOL;

Выход:

Using JSON : http://8.88.88.8/list/si3diwoe/123
Using RegEx: http://8.88.88.8/list/si3diwoe/123
0

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

Если это строка json, вы можете использовать json_decode, чтобы назначить ее переменной, скажем, $ arr, а затем разделить ($ arr [‘load’]);

если это не так, вы можете использовать explode («,», $ string) и назначить его переменной, скажем, $ arr снова. Запустите explode снова (explode («:», $ arr [1])) и присвойте его другой переменной, скажем, $ ar, затем сделайте зачистки на $ ar [‘1’];

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector