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 に答える