php正则提取html问题,当div有多个class时怎么提取指定类名的div标签里的内容?

新手上路,请多包涵

$str = '<div class="dets lined">qwe<span>666</span></div><div class="cnma putys">123<font>name</font></div><div class="lined cnma dets">9665<font>word</font></div>';

/ 以下正则提取不到div里的内容 /
$regex="/<div class="cnma".*?>.*?</div>/ism";
$regex="/<div class="lined".*?>.*?</div>/ism";
$regex="/<div class="putys".*?>.*?</div>/ism";
preg_match_all($regex,$str,$arr);
print_r($arr);

$str1 = '<div class="dets lined">qwe<span>666</span></div><div class="cnmaeed putys">123<font>name</font></div><div class="lined cnmauoe dets">9665<font>word</font></div>';

/ 以下正则字符串里没cnma这个class也能提取div里的内容 ,这样不准确/
$regex="/<div class=".*?cnma.*?".*?>.*?</div>/ism";
preg_match_all($regex,$str1,$arr);
print_r($arr);

怎么才能准确提取内容?

阅读 2.8k
1 个回答

用php爬虫框架比较好

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题