6

次のようなiOSユーザーエージェントがある場合

Mozilla/5.0 (iPhone; U; Mac OS X のような CPU iPhone OS 4_0; en-us) AppleWebKit/532.9 (Gecko のような KHTML) バージョン/4.0.5 Mobile/8A293 Safari/6531.22.7

また

Mozilla/5.0 (iPhone; U; Mac OS X のような CPU iPhone OS 4_0; en-us) AppleWebKit/532.9 (Gecko のような KHTML) Mobile/7D11

正規表現を使用してiOSバージョンを検出して、たとえば返されるようにするにはどうすればよいですか

4.0

上記のユーザーエージェントの場合?

4

4 に答える 4

5

この正規表現は、あなたが望むことをするはずです:

/iPhone OS (\d+)_(\d+)\s+/

一致する 2 つのグループ値をキャプチャする必要があります。その方法は、使用する言語によって異なります...

php を使用すると、次のように実行できます。

$txt = 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7';
$reg = '/iPhone OS (\d+)_(\d+)\s+/';
$a   = array();
preg_match($reg, $txt, $a);

$str_version = $a[1].'.'.$a[2]; // This variable should now contain : 4.0 
于 2012-06-23T18:54:54.740 に答える