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
谁能告诉我这在代码中是如何工作的?
非常感谢!
如果是json字符串,可以用json_decode赋值给一个变量,比如说$arr,然后stripslashes($arr['load']);
如果不是,你可以使用 explode("," , $string),并将其赋值给一个变量,再说一次 $arr。 运行 再次爆炸 (explode(":", $arr[1])) 并将其分配给另一个变量,例如 $ar,然后在 $ar['1'];
上执行 stripslashes
$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
我是编程新手;现在,我在 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
谁能告诉我这在代码中是如何工作的? 非常感谢!
如果是json字符串,可以用json_decode赋值给一个变量,比如说$arr,然后stripslashes($arr['load']);
如果不是,你可以使用 explode("," , $string),并将其赋值给一个变量,再说一次 $arr。 运行 再次爆炸 (explode(":", $arr[1])) 并将其分配给另一个变量,例如 $ar,然后在 $ar['1'];
上执行 stripslashes$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