不使用DOM获取div数据

时间:2011-06-15 21:05:22

标签: php regex

  

可能重复:
  Getting DIV content with Regular Expression

首先让我告诉你,DOM不是这个选项。 我只是有html:

className">Name</div>......</div>....</div>

现在,我创建了一个正则表达式,如:

$match_count = preg_match_all('/className\">(.*)\<\/div\>/', $page, $matches);

这对我来说似乎不错,但由于某些原因,它获得的数据超出预期。也就是说,它稍后完成一些结束div。我如何限制它,以便它只在第一个结束div中获取数据?

3 个答案:

答案 0 :(得分:3)

$match_count = preg_match_all('/className">(.*?)<\/div>/', $page, $matches);

使用非贪婪选择器.*?

答案 1 :(得分:0)

请改用preg_match。它会在第一个匹配的模式后停止搜索。

答案 2 :(得分:0)

这有效:

$match_count = preg_match_all('/className\">(.*)\<\/div\>/', $page, $matches);

U模式修饰符将确保找到最小的匹配,而不是最大匹配。