0

次のような「名前 + バージョン名」形式のサンプル コードがあります。

Nokia Belle OS
Symbian Anna OS
Symbian Belle OS, upgradeable to Belle FP1
Symbian OS v9.4, Series 60 rel. 5

このコードを使用して、名前とバージョン名を取得します。

<?php
preg_match_all('/(\b+)\s*OS(\s|,)(\b+)/i', $array[], $arr); // with array[] is name of this text

$name = $arr[1][0];
$version = $arr[2][0];

しかし、私がしようとするvar_dump$arr、それは私を返しますNULL。では、名前とバージョン名を取得するにはどうすればよいですか?

4

1 に答える 1

0

次のように、単純な正規表現を使用して「名前」と残りを取得し、残りarray_mapの内容を変更するために使用できます。

<?php
function versionTrim($string) {
  return trim($string, ' ,');
}

$OS = 'Nokia Belle OS
Symbian Anna OS
Symbian Belle OS, upgradeable to Belle FP1
Symbian OS v9.4, Series 60 rel. 5';

preg_match_all('/(.+) OS([^\n]*)/', $OS, $matches);

$names = $matches[1];
$version = array_map(versionTrim, $matches[2]);

var_dump($names);
var_dump($version);
于 2012-06-12T06:45:20.940 に答える