PHP正则表达式:如何提取url和过滤器"";来自特定字符串


PHP regex: How to extract url and filter "" from specific string

我是编程新手;现在,我在PHP编程方面遇到了一些问题。

我想从以下string:中提取URL

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

所需的string

http://8.88.88.8/list/si3diwoe/123

有人能告诉我这在代码中是如何工作的吗?非常感谢!

$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

如果它是json字符串,您可以使用json_decode将其分配给一个变量,比如$arr,然后是stripeshases($arr['load']);

如果不是,您可以使用爆炸(",",$string),并将其分配给一个变量,再次说$arr。再次运行explore(explore(":",$arr[1])),并将其分配给另一个变量,比如$ar,然后在$ar上执行条带斜杠['1'];