0

我有一段 HTML(不是完整的 HTML 文档),其中包含以下几个实例:

    </div>




            some text is here

    </h3>

我只想匹配 'some text is here' 但在使用 php 正则表达式时无法理解多行、换行符和空格。我得到的是:

    preg_match('/<\/div>[\s\r\n\t]*(.*)[\s\n\r\t]*<\/h3>/', $string, $matches);

但这似乎不起作用。我也尝试过使用 DOMDocument() ,但它会引发各种错误,可能是因为这不是一个完整的 HTML 文档。

有任何想法吗??

4

1 回答 1

1

使用类似的东西

preg_match("@</div>(.*?)</h3>@s", $html, $matches);

sPCRE 修饰符(在 last 之后)@允许.匹配换行符。这样.*?做是为了让它只匹配第一个 </h3>而不是最后一个。标签之间的数据将在$matches[1]

于 2013-04-08T02:43:01.573 回答