Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用php提取Json中的URL标记_Php_Html_Json_Regex_Match - Fatal编程技术网

如何使用php提取Json中的URL标记

如何使用php提取Json中的URL标记,php,html,json,regex,match,Php,Html,Json,Regex,Match,我正在尝试从给定代码中提取url标记: (function(e,a){ var t={ "cdn_url":"https://f.vimeocdn.com", "view":1, "request":{ "files":{ "h264":{ "hd":{ "profile":113,

我正在尝试从给定代码中提取url标记:

(function(e,a){
    var t={
        "cdn_url":"https://f.vimeocdn.com",
        "view":1,
        "request":{
            "files":{
                "h264":{
                    "hd":{
                        "profile":113,
                        "origin":"level3",
                        "url":"https://09-lvl3-pdl.vimeocdn.com/01/3164/4/115821665/722085083.mp4?expires=1446817250&token=0cc7a9f36655f3a0afff3",
                        "cdn":"level3",
                        "height":720,
                        "width":1280,
                        "id":722085083,
                        "bitrate":2583,
                        "availability":114
                    },
                    "sd":{
                        "profile":112,
                        "origin":"level3",
                        "url":"https://09-lvl3-pdl.vimeocdn.com/01/3164/4/115821665/722083593.mp4?expires=1446817250&token=024b83dea6d2f4e4f57e1",
                        "cdn":"level3",
                        "height":360,
                        "width":640,
                        "id":722083593,
                        "bitrate":667,
                        "availability":114
                    }
                },
                "hls":{
                    "origin":"level3",
                    "all":"https://09-lvl3-hls.vimeocdn.com/1446820550-c34bde21acdff66dc5a0a7a4a701ba220774c80e/01/3164/4/115821665/master.m3u8",
                    "cdn":"level3"
                },
                "codecs":["h264"]
            },
            "ga_account":"UA-76641-35",
            "expires":3600,
            "timestamp":1446813350,
            "signature":"6e5fbd174b7b4503945ffa8ae800f4b5",
            "currency":"USD",
            "session":"60ee52a4f9a681617d768b7bf329c10867b53cfe1446813350",
            "cookie": {
                "scaling":1,
                "volume":1.0,
                "quality":null,
                "hd":null,
                "captions":null},
我正在尝试从上述代码中提取SD视频URL:

https://09-lvl3-pdl.vimeocdn.com/01/3164/4/115821665/722083593.mp4?expires=1446817250&token=024b83dea6d2f4e4f57e1
我正在使用PHP,因为它可以帮助任何人! 我正在尝试下载视频,但为此,我首先需要SD视频的url


提前感谢!:)

这是一个用来抓住它的正则表达式:

"sd":.*?"url":"([^"]*)"
URL最终位于第一个(也是唯一一个)捕获组中

但这是一种非常粗糙的方法。我建议您获取JSON对象并使用
JSON\u decode
获取所需的值。(您的示例HTML不完整,因此我无法告诉您获取JSON对象的正则表达式是什么样子。)


关于

这是一个可以抓住它的正则表达式:

"sd":.*?"url":"([^"]*)"
URL最终位于第一个(也是唯一一个)捕获组中

但这是一种非常粗糙的方法。我建议您获取JSON对象并使用
JSON\u decode
获取所需的值。(您的示例HTML不完整,因此我无法告诉您获取JSON对象的正则表达式是什么样子。)


问候

如果这是您所需要的一切,请尝试

"url":"([^"]*)"

代码中的用法示例:

$re = "/\"url\":\"([^\"]*)\"/"; 
$str = "(function(e,a){var t={\"cdn_url\":\"https://f.vimeocdn.com\",\"view\":1,\"request\":{\"files\":{\"h264\":{\"hd\":{\"profile\":113,\"origin\":\"level3\",\"url\":\"https://09-lvl3-pdl.vimeocdn.com/01/3164/4/115821665/722085083.mp4?expires=1446817250&token=0cc7a9f36655f3a0afff3\",\"cdn\":\"level3\",\"height\":720,\"width\":1280,\"id\":722085083,\"bitrate\":2583,\"availability\":114},\"sd\":{\"profile\":112,\"origin\":\"level3\",\"url\":\"https://09-lvl3-pdl.vimeocdn.com/01/3164/4/115821665/722083593.mp4?expires=1446817250&token=024b83dea6d2f4e4f57e1\",\"cdn\":\"level3\",\"height\":360,\"width\":640,\"id\":722083593,\"bitrate\":667,\"availability\":114}},\"hls\":{\"origin\":\"level3\",\"all\":\"https://09-lvl3-hls.vimeocdn.com/1446820550-c34bde21acdff66dc5a0a7a4a701ba220774c80e/01/3164/4/115821665/master.m3u8\",\"cdn\":\"level3\"},\"codecs\":[\"h264\"]},\"ga_account\":\"UA-76641-35\",\"expires\":3600,\"timestamp\":1446813350,\"signature\":\"6e5fbd174b7b4503945ffa8ae800f4b5\",\"currency\":\"USD\",\"session\":\"60ee52a4f9a681617d768b7bf329c10867b53cfe1446813350\",\"cookie\":{\"scaling\":1,\"volume\":1.0,\"quality\":null,\"hd\":null,\"captions\":null},"; 

preg_match($re, $str, $matches);
$matches[1]
包含您需要的值


如果这是您所需要的,请尝试

"url":"([^"]*)"

代码中的用法示例:

$re = "/\"url\":\"([^\"]*)\"/"; 
$str = "(function(e,a){var t={\"cdn_url\":\"https://f.vimeocdn.com\",\"view\":1,\"request\":{\"files\":{\"h264\":{\"hd\":{\"profile\":113,\"origin\":\"level3\",\"url\":\"https://09-lvl3-pdl.vimeocdn.com/01/3164/4/115821665/722085083.mp4?expires=1446817250&token=0cc7a9f36655f3a0afff3\",\"cdn\":\"level3\",\"height\":720,\"width\":1280,\"id\":722085083,\"bitrate\":2583,\"availability\":114},\"sd\":{\"profile\":112,\"origin\":\"level3\",\"url\":\"https://09-lvl3-pdl.vimeocdn.com/01/3164/4/115821665/722083593.mp4?expires=1446817250&token=024b83dea6d2f4e4f57e1\",\"cdn\":\"level3\",\"height\":360,\"width\":640,\"id\":722083593,\"bitrate\":667,\"availability\":114}},\"hls\":{\"origin\":\"level3\",\"all\":\"https://09-lvl3-hls.vimeocdn.com/1446820550-c34bde21acdff66dc5a0a7a4a701ba220774c80e/01/3164/4/115821665/master.m3u8\",\"cdn\":\"level3\"},\"codecs\":[\"h264\"]},\"ga_account\":\"UA-76641-35\",\"expires\":3600,\"timestamp\":1446813350,\"signature\":\"6e5fbd174b7b4503945ffa8ae800f4b5\",\"currency\":\"USD\",\"session\":\"60ee52a4f9a681617d768b7bf329c10867b53cfe1446813350\",\"cookie\":{\"scaling\":1,\"volume\":1.0,\"quality\":null,\"hd\":null,\"captions\":null},"; 

preg_match($re, $str, $matches);
$matches[1]
包含您需要的值


我不知道你想要什么。你想从上面的json中提取url标记吗?我想从上面的文本中提取https://url来下载视频!我不知道你要什么。你想从上面的json中提取url标记吗?我想从上面的文本中提取https://url来下载视频!你能给我提供完整的preg_匹配代码在PHP中应用吗?它来自HD部分。我需要从SD partpick中选择
$matches[1][1]
然后确定使用的是
$matches[1][1]
变量吗?你能给我提供完整的preg_匹配代码在PHP中应用吗?它来自HD部分。我需要从SD partpick中选择
$matches[1][1]
然后确定使用的是
$matches[1][1]
变量吗?