1

私は正規表現のパターンを理解したことがなく、グーグルで調べた後も賢くはありませんでした。

この文字列から WordPress のバージョン番号 (3.2) を取得したい:

<meta name="generator" content="WordPress 3.2" />

将来 3.3 にアップグレードするときに、分割コードでそれを実現したくありません。したがって、静的な表現はありません。

これを解決するにはどうすればよいですか?

4

4 に答える 4

2

これに有効な正規表現は次のとおりです...

$str = '<meta name="generator" content="WordPress 3.2" />';
preg_match('/meta name="generator" content="WordPress [0-9]+\.[0-9]" /', $str, $matches);
preg_match('/[0-9]+\.[0-9]/', $matches[0], $matches1);
$version = $matches1[0];
echo "Wordpress version is = $version";

これを出力する必要があります:

Wordpressのバージョンは=3.2です

于 2011-07-12T18:17:04.810 に答える
0
preg_match('|<meta name="generator" content="WordPress (.*?)" />|', $where_to_search_for, $match);
print_r($match);
于 2011-07-12T17:35:36.317 に答える
0
$data = '<meta name="generator" content="WordPress 3.2" />';
$pat = '<meta name="generator" content="WordPress (\d*\.?\d*)" />';
if(($match = preg_match($pat, $data)) !== false){
    echo $match[1];
}else{
    echo "not found";
}
于 2011-07-12T17:30:27.293 に答える