我有一段HTML( NOT 一个完整的HTML文档),其中包含以下几个实例:
</div>
some text is here
</h3>
我想匹配'有些文字在这里',但是我无法用php正则表达式理解多行,换行符和空格。我得到的是:
preg_match('/<\/div>[\s\r\n\t]*(.*)[\s\n\r\t]*<\/h3>/', $string, $matches);
但这似乎不起作用。我也尝试使用DOMDocument(),但它会抛出各种错误,可能是因为这不是一个完整的HTML文档。
任何想法??
答案 0 :(得分:1)
使用类似
的内容preg_match("@</div>(.*?)</h3>@s", $html, $matches);
s
PCRE修饰符(在最后@
之后)允许.
匹配换行符。 .*?
已完成,因此它只会匹配第一个 </h3>
而不是最后一个。标签之间的数据将在$matches[1]