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 回答