3

我有类似的东西

Page 1 of 7 (1-49 of 325)

我需要使用正则表达式找到最后一页。

这是我所拥有的正则表达式

<?php

$page = 'Page 1 of 7 (1-49 of 325)';

$matches = array();
$t = preg_match('/of(.*?)\(/s', $page, $matches);
print_r($matches[1]);


?>

它工作正常,它输出 7。

我的问题是我什么时候使用

<?php

$page = file_get_contents('http://www.exaample.com');

$matches = array();
$t = preg_match('/of(.*?)\(/s', $page, $matches);
print_r($matches[1]);


?>

我得到了很多文本,但我没有得到输出“7”。

4

3 回答 3

4

这有效:

$t = preg_match('/Page [0-9]+ of ([0-9]+)/i', $page, $matches);
于 2013-01-17T16:42:00.183 回答
0

使用这个正则表达式\d+(?=\s*\()

于 2013-01-17T16:42:08.103 回答
-1
<?php
$str = 'Page 1 of 7 (1-49 of 325)';
preg_match('/\([0-9]+\-([0-9]+) of [0-9]+\)/', $str, $matches);
var_dump($matches);

未测试。

于 2013-01-17T16:41:38.993 回答