我正在尝试执行此功能:
public function get_referring_domains(){
$pattern='/<p>Referring<b>Class C subnets<\/b>: <b>(.*?)<\/b> <\/p>/';
$result= preg_match_all($pattern, $this->dom, $matches, PREG_SET_ORDER);
return $result;
}
我想得到的结果是一个数字,你可以在我设置的模式中看到,我想得到:([0-9] +)...但是我每次都得到0 ..为什么模式不匹配?
这就是我想要匹配的内容:
$pattern='/<p>Referring[\s]{1}<b>Class[\s]{1}C\ssubnets</b>:[\s]{1}<b>(.*?)</b>[\s]{1}</p>/i';
我明白了:
preg_match_all()[function.preg-match-all]:未知修饰符'b'
<p>Referring <b>Class C subnets</b>: <b>4,613</b> </p>
它是html页面的一部分
更新。改为:
答案 0 :(得分:2)
你错过了一些空白,应该是这样的:
$pattern = '/<p>Referring <b>Class C subnets<\/b>: <b>(.*?)<\/b> <\/p>/';
另外,我真的建议使用DOMDocument而不是正则表达式。
答案 1 :(得分:0)
参考
后应该有一个空格