使用preg_match提取变量

时间:2013-11-16 06:58:43

标签: php regex preg-match

您好我在尝试使用preg替换提取变量时出现问题。我想我正在弄乱分隔符或者只是做错了

主题

'file': 'EoWviKqVizQ,end=1384596943/data=B262F941/speed=375k/2305873_hd.flv',

我需要提取

end=1384596943/data=B262F941/speed=375k/1234_hd.flv 

这基本上是单引号之间逗号之后的字符串。

我的尝试

preg_match('#'file':'(.*)'#',$input , $matches)

preg_match("#'file':'(.*)'#",$input , $matches)

希望有人可以帮助我

此致

1 个答案:

答案 0 :(得分:1)

这样做:

$input = "'file': 'EoWviKqVizQ,end=1384596943/data=B262F941/speed=375k/2305873_hd.flv',";
$mypart = preg_replace("/^'file': '[^,]+,/", "", $input); // strip first part, i.e., "'file': 'EoWviKqVizQ,"
$mypart = preg_replace("/',\s*$/", "", $mypart); // strip last part, i.e., "',"
echo $mypart;

已编辑基于OP反馈(已将[^']+替换为file,仅匹配以'file'开头的行等