PHP正则表达式:如何提取网址和过滤" \"来自特定字符串

时间:2015-03-19 08:12:07

标签: php regex url extract

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

我想从以下string中提取网址:

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

所需的string

http://8.88.88.8/list/si3diwoe/123

有谁能告诉我代码中的这项工作如何? 非常感谢你!

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

$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