PregMatchAll 始终 returns 0 即使在正则表达式匹配时也是如此

PregMatchAll always returns 0 even while regex matching

我一直在这样做:

preg_match_all('!<div class="ratings">\s*?(.*?)\s*<\/div>!', $result, $match);

对于我的这个街区

<div class="ratings">
<h4><a href="https://www.abcd.com/star-ratings">Sex 
<i class="icon-star-filled highlight"></i><i class="icon-star-filled 
highlight"></i><i class="icon-star-filled highlight"></i><i 
class="icon-star-filled"></i><i class="icon-star-filled"></i></a></h4>
<h4><a href="https://www.abcd.com/star-ratings">Sex 
<i class="icon-star-filled highlight"></i><i class="icon-star-filled 
highlight"></i><i class="icon-star-filled highlight"></i><i 
class="icon-star-filled"></i><i class="icon-star-filled"></i></a></h4>
</div>

但我的比赛总是returns零

print_r($match[1]);

可能是什么问题?

将标记 s 添加到您的模式 !<div class="ratings">\s*?(.*?)\s*<\/div>!s http://xregexp.com/flags/