这是我的字符串:在变量$ raw
中电影名称:Ittefaq(2017)导演:Abhay Chopra明星:Sonakshi Sinha,Sidharth Malhotra,Akshaye Khanna发行日期:2017年11月3日 (印度)类型:神秘,惊悚格式:MatRoska(Mkv)文件大小: 850MB分辨率:1280x536运行时间:01:45:31语言:印地语 字幕:英文[Softcoded] - Muxed编码器:MkvCage(MC)团队 来源:Hon3y /
现在我想提取" 850MB"从它。
注意:每次更改整个字符串。 但关键字如"文件大小:","分辨率"保持不变,但价值会发生变化。
我只想从中提取文件大小的值。
答案 0 :(得分:1)
我认为以下模式足够紧密,只能捕获您需要的内容,而不是错误地在文本中获取其他内容。
/Size: ([\d\.MGTB]+)/
它将接受数字,点和MB,GB,TB文件大小 (如果文件大小有点,例如1.35 GB)
preg_match("/Size: ([\d\.MGTB]+)/", $raw, $match);
答案 1 :(得分:1)
您可以使用以下所有可能的值:
if (preg_match('~File Size: ([^\s]+)~', $raw, $matches)) {
echo $matches[1];
}
将从File Size:
获取字符串直到下一个空白字符。
答案 2 :(得分:0)
$raw = 'Movie Title: Ittefaq (2017) Director: Abhay Chopra Stars: Sonakshi Sinha, Sidharth Malhotra, Akshaye Khanna Release Date: 3 November 2017 (India) Genres: Mystery, Thriller Format: MatRoska (Mkv) File Size: 850MB Resolution: 1280x536 Runtime: 01:45:31 Language: Hindi Subtitles: English [Softcoded] - Muxed Encoder: MkvCage (MC) Team Source: Hon3y /';
$matches = [];
preg_match("/Size: ([\da-zA-Z]+)/", $raw, $matches);
echo $matches[1];
上面的例子将输出:
850MB