php - PregMatchAll 即使在正则表达式匹配时也总是返回 0
问题描述
我一直在这样做:
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>
但是我的比赛在做的时候总是返回零
print_r($match[1]);
可能是什么问题?
解决方案
将标志添加s
到您的模式
!<div class="ratings">\s*?(.*?)\s*<\/div>!s
http://xregexp.com/flags/
推荐阅读
- gradle - 定义一个工件以用作另一个项目中的依赖项
- java - 带有-Xmx500m的JVM实际消耗1GB内存
- javascript - Removing an object from array with splice() does not work as expected in React
- r - R在时间序列中提取信号后的几天
- angular-material2 - 是否有更密集/紧凑布局的选项
- grpc - gRPC:RPC 调用上的随机 CANCELED 异常
- c# - 循环 request.form 并使用 db.Execute 添加数据
- python - 更改 Dash 图表系列颜色
- spring-boot - JaVers 和 Spring boot 2.1.x [Java 11 版本]
- aem - 软件包的 AEM 6.4 升级后升级问题