使用 PHP 中的 preg_match 获取 'p' 标签的值

Get value of 'p' tag using preg_match in PHP

我可以使用下面的 PHP 代码

在标签 'p' 中获取值
$pattern ='/<p>(.*)<\/p>/';
$str = '<div class="sample"><p>Hi welcome</p></div>';
preg_match($pattern, $str, $matches);
print_R($matches);

但是我还有另一个 HTML 代码,它在标记中断标记之后有更多 space。这是我的代码。

<div class="boxes-box-content"><p>Call: (+61 3) 8639 9000<br />
 <a href="mailto:info@rgit.edu.au">info@rgit.edu.au</a><br />
  28-32 Elizabeth Street, Melbourne<br />
  VIC 3000, Australia</p>
</div>

在上面的代码中,在 break 标签之后有更多的 space。所以我无法获取标签 'p' 的值。 是否有任何其他方法来获取 'p' 标记的值。

我希望获得的结果为

拨打:(+61 3) 8639 9000
信息@rgit.edu.au
墨尔本伊丽莎白街 28-32 号
澳大利亚维多利亚州 3000

解析 HTML 的最佳方法是使用 PHP DOM Class。虽然如果你仍然想在这里使用 preg_match 可以使用下面的正则表达式(添加)并检查,

$pattern = "/<p>(.*)<\/p>/s";

Woking DEMO.