Сплит строка PHP - PullRequest
       22

Сплит строка PHP

1 голос
/ 12 июля 2011

Я никогда не понимал закономерности регулярных выражений, и после поисков в Google я не стал мудрее.

Я хочу получить номер версии WordPress (3.2) из ​​этой строки:

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

В будущем при обновлении до 3.3 я не хочу разделенный код, чтобы получить егок.Так что нет статического выражения.

Как мне решить эту проблему?

Ответы [ 4 ]

2 голосов
/ 12 июля 2011

Вот регулярное выражение, которое работает для этого ...

$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

0 голосов
/ 25 февраля 2014

Хотя это довольно старый вопрос, и из любопытства, почему бы вам просто не использовать встроенную функцию для извлечения используемой версии WordPress?

<?php echo get_bloginfo( 'version' );?>

Таким образом, даже мета-генератор удаляется, вы получите точную версию из $wp_version var.

0 голосов
/ 12 июля 2011
preg_match('|<meta name="generator" content="WordPress (.*?)" />|', $where_to_search_for, $match);
print_r($match);
0 голосов
/ 12 июля 2011
$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";
}
...