正規表現のパターンを理解したことがなく、グーグルグーグルで私は賢明ではありませんでした。スプリット文字列PHP
私は、この文字列からWordPressのバージョン番号(3.2)をつかむしたい:将来的には
<meta name="generator" content="WordPress 3.2" />
3.3にアップグレードするとき私はそれを得ることができるように分割されたコードをwan't。だから静的な表現はありません。
どうすれば解決できますか?ここで
正規表現のパターンを理解したことがなく、グーグルグーグルで私は賢明ではありませんでした。スプリット文字列PHP
私は、この文字列からWordPressのバージョン番号(3.2)をつかむしたい:将来的には
<meta name="generator" content="WordPress 3.2" />
3.3にアップグレードするとき私はそれを得ることができるように分割されたコードをwan't。だから静的な表現はありません。
どうすれば解決できますか?ここで
このために働く正規表現です...
$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
$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";
}
preg_match('|<meta name="generator" content="WordPress (.*?)" />|', $where_to_search_for, $match);
print_r($match);
かなり古い質問ですが好奇心から、組み込み機能を使ってWordPressのバージョンを使用するのはどうですか?
<?php echo get_bloginfo('version');?>
この方法では、さえジェネレータメタが削除され、あなたは$wp_version
VARから正確なバージョンを取得します。
適切な方法は、[HTMLパーサー](http://stackoverflow.com/questions/3577641/best-methods-to-parse-html-with-php/3577662#3577662)を使用することです。仕事のために過度のように見えるかもしれない –
それは残忍かもしれませんが、長期的にはるかに信頼性が高いでしょう。 WPが空白を変更したり、何を持っている場合、正規表現は壊れる可能性があります。 – Anthony