PHP中的Preg_matching内容快速提问!

时间:2011-05-08 00:23:16

标签: php

我想了解这些内容:

<div class="scene_box">
WHATEVER IS IN HERE
<div class="clear"></div>

但我无法获得中间的内容

这是我的代码:

preg_match("/<div class=\"scene_box\">(.*?)<div class=\"clear\"><\/div>

<\/div> /", $res, $match);

如果有人可以提供帮助,将非常感激

是scene_box的多个,这就是我使用preg_match

的原因

2 个答案:

答案 0 :(得分:1)

不要使用正则表达式解析HTML。使用类似QueryPath

的内容

答案 1 :(得分:1)

你已经对另一个答案提出了更好的建议(但应该是评论)。要通过一个有用的示例来扩展它,这就是您可以非常轻松地利用phpQuery或QueryPath来实现您的情况:

print qp($html)->find("div.scene_box")->text();

但是为了回答你的实际正则表达式问题,你忘记了正则表达式末尾的/s修饰符。这就是(.*?)与标记/标记之间的内容不匹配的原因。 .点通常会忽略换行符/ CRLF。

相关问题