【发布时间】:2016-10-10 20:59:19
【问题描述】:
我有这个字符串:
http://sh.st/st/8052f1bbc624add41cd2a6236f76cfc8/https://www.rapidvideo.com/embed/o1cTaZbux
我想从中提取 url。
我的代码:
$pattern = '@((https?://)?([-\\w]+\\.[-\\w\\.]+)+\\w(:\\d+)?(/([-\\w/_\\.]*(\\?\\S+)?)?)*)@';
$str= "http://sh.st/st/8052f1bbc624add41cd2a6236f76cfc8/https://www.rapidvideo.com/embed/o1cTaZbux";
if($num_found = preg_match_all($pattern, $str, $out))
{
echo "FOUND ".$num_found." LINKS:\n";
print_r($out[0]);
}
但是输出错误:
Array
(
[0] => http://sh.st/st/8052f1bbc624add41cd2a6236f76cfc8/https
[1] => www.rapidvideo.com/embed/o1cTaZbux
)
我要输出:
Array
(
[0] => http://sh.st/st/8052f1bbc624add41cd2a6236f76cfc8
[1] => https://www.rapidvideo.com/embed/o1cTaZbux
)
请帮忙
【问题讨论】:
-
你可以在 http(s):// 上拆分就足够了。你真的不需要剩下的
-
我不知道该怎么做。你能帮助我吗?谢谢!
-
您发布了一个链接,指向 bones 剧集的非法副本。 -1
-
你可能想要一个non-greedy search - 我试着测试一下,但regex101.com 不喜欢你现有的字符串。
标签: php