0
       $subject= "Citation flow <img src='/static/images/icons/help.png'>
                                </span>
                            </p>
                            <p style='font-size: 150%;'><b>11</b></p>";
           $pattern="/Citation flow[.]+<b>([0-9]+)<\/b>/i";

          preg_match_all($pattern, $subject,$matches,PREG_PATTERN_ORDER);

          print_r($matches);

我想在粗体标签中捕获数字 11.. 但我的正则表达式不起作用.. 为什么?

更新:

我想出了这个..但我不是 100% 这是最好的解决方案:

$pattern="/Citation flow[\s\S]*<b>([0-9]+)<\/b>/i";
4

2 回答 2

3

好吧,它不能匹配,因为Citation flow它后面有一个空格,而不是任意数量的点。你可能是说

(?si)Citation flow.+<b>(\d+)</b>
于 2012-06-18T12:15:26.260 回答
0

你不想

$pattern="/Citation flow[.]+<b>([0-9]+)<\/b>/si"; 
于 2012-06-18T12:20:41.480 回答