Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.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/8/swift/18.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 preg_match&;正则表达式_Php_Regex_Preg Match - Fatal编程技术网

php preg_match&;正则表达式

php preg_match&;正则表达式,php,regex,preg-match,Php,Regex,Preg Match,我想选择用户发布的下一个url。所以我想使用preg_match 字符串: #EXTM3U #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=350000 128/prog_index.m3u8?key=49bfee85b05d117a2906368428094e94 #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=750000 500/prog_index.m3u8?key=49bfee85b05d117a29063684280

我想选择用户发布的下一个url。所以我想使用preg_match

字符串:

#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=350000
128/prog_index.m3u8?key=49bfee85b05d117a2906368428094e94
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=750000
500/prog_index.m3u8?key=49bfee85b05d117a2906368428094e94
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1000000
750/prog_index.m3u8?key=49bfee85b05d117a2906368428094e94
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1250000
1000/prog_index.m3u8?key=49bfee85b05d117a2906368428094e94
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1750000
1500/prog_index.m3u8?key=49bfee85b05d117a2906368428094e94
<?php
$quality = $_POST['quality'];
$url = ''.$serviceUrl.'/'.$path.'';
$url = file_get_contents($url);    
preg_match('/'.$quality.'\/prog_index.m3u8/', $url, $C);
print_r($C);
?>
Array
(
    [0] => 1500/prog_index.m3u8
)
我的PHP代码:

#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=350000
128/prog_index.m3u8?key=49bfee85b05d117a2906368428094e94
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=750000
500/prog_index.m3u8?key=49bfee85b05d117a2906368428094e94
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1000000
750/prog_index.m3u8?key=49bfee85b05d117a2906368428094e94
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1250000
1000/prog_index.m3u8?key=49bfee85b05d117a2906368428094e94
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1750000
1500/prog_index.m3u8?key=49bfee85b05d117a2906368428094e94
<?php
$quality = $_POST['quality'];
$url = ''.$serviceUrl.'/'.$path.'';
$url = file_get_contents($url);    
preg_match('/'.$quality.'\/prog_index.m3u8/', $url, $C);
print_r($C);
?>
Array
(
    [0] => 1500/prog_index.m3u8
)

但是我想要这样:1500/prog_index.m3u8?key=49bfee85b05d117a2906368428094e94仅根据您提供的示例输入,添加
\S+
,这意味着选择非空白字符

preg_match('/'.$quality.'\/prog_index.m3u8\S+/', $url, $C);
                                           ^^

UH只需在正则表达式的末尾添加
+
?通过
prog_index\.m3u8
,您应该真正避开这段时间。您应该避开(或
(int)
案例)用户输入;请参见
preg\u quote
。使用
file()
preg\u grep(“~^$int/~”)
在行之间搜索要简单得多。