我的问题是,当正则表达式获取任何值时,它只取最后一个正确的值
输入
Mozilla/5.0 (Windows Phone 10.0; Android 6.0.1; SAMSUNG; GT-I8750) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Mobile Safari/537.36 Edge/15.15063
我得到的输出
Android
我想要什么实际输出
Windows Phone 10.0
我的代码
function getOS() {
global $user_agent;
$os_platform = "Unknown OS Platform";
$os_array = array(
'/Windows Phone 10.0/i' => 'Windows Phone 10',
'/android/i' => 'Android',
);
foreach ($os_array as $regex => $value) {
if (preg_match($regex, $user_agent)) {
$os_platform = $value;
}
}
return $os_platform;
}
它替换为他得到的最后一个正确的匹配...... 我只想选择“Windows Phone 10.0”,即使它在我的输入中找到“Android”。
谢谢