如何使用Regex - preg_match获取内容部分

时间:2011-05-15 19:56:20

标签: php regex preg-match

div中的内容包括新行,制表符等等,这可能就是它不起作用的原因:

preg_match('/<div>(.*)</div>/', $i, $matches)

我也尝试了preg_match('/<div>(\n*)(.*)(\n*)</div>/', $i, $matches)

但仍然无效。你可以帮忙吗?

3 个答案:

答案 0 :(得分:2)

使用preg_match('/<div>(.*)</div>/sm', $i, $matches)

有关详细信息,请参阅documentation

答案 1 :(得分:1)

将多线修饰符(m)添加到正则表达式中:

preg_match('/<div>(.*)</div>/m', $i, $matches);

您可以在php.net上阅读模式修饰符。

虽然这应该有效,但请不要使用regexp解析HTML。通过一些搜索,可以在此页面上找到很多信息。

答案 2 :(得分:1)

尝试使用 sm 标志:

preg_match('/<div>(.*)<\/div>/sm', $i, $matches);