我从来没有理解过正则表达式的模式,在谷歌搜索之后我也没有变得更聪明。
我想从这个字符串中获取 WordPress 版本号(3.2):
<meta name="generator" content="WordPress 3.2" />
将来升级到 3.3 时,我不希望拆分代码能够做到这一点。所以没有静态表达式。
我该如何解决这个问题?
我从来没有理解过正则表达式的模式,在谷歌搜索之后我也没有变得更聪明。
我想从这个字符串中获取 WordPress 版本号(3.2):
<meta name="generator" content="WordPress 3.2" />
将来升级到 3.3 时,我不希望拆分代码能够做到这一点。所以没有静态表达式。
我该如何解决这个问题?
这是一个适用于此的正则表达式......
$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 中获得准确的版本。