Получить значение тега p, используя preg_match в PHP

0

Я могу получить значение в теге 'p', используя ниже PHP-код

$pattern ='/<p>(.*)<\/p>/';
$str = '<div class="sample"><p>Hi welcome</p></div>';
preg_match($pattern, $str, $matches);
print_R($matches);

Но у меня есть еще один HTML-код, у которого больше места после тега разрыва тега. Вот мой код.

<div class="boxes-box-content"><p>Call: (+61 3) 8639 9000<br />
 <a href="mailto:[email protected]">[email protected]</a><br />
  28-32 Elizabeth Street, Melbourne<br />
  VIC 3000, Australia</p>
</div>

В вышеприведенном коде больше места после тега break. Поэтому я не могу получить значение тега 'p'. Есть ли какой-либо другой метод для получения значения тега 'p'.

Я хочу получить результаты как

Вызов: (+61 3) 8639 9000
[email protected]
28-32 Элизабет-стрит, Мельбурн
VIC 3000, Австралия

  • 0
    php.net/manual/en/class.domdocument.php
  • 0
    Я хочу сделать это, используя только preg_match ()
Показать ещё 1 комментарий
Теги:
preg-match

1 ответ

2
Лучший ответ

Лучший способ разбора HTML - использовать PHP DOM Class. Хотя, если вы все еще хотите использовать preg_match в этом, можете использовать ниже regex (добавлено) и проверять,

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

Woking DEMO.

  • 0
    Превосходно .. Спасибо .. Это дает правильный ответ ...
  • 0
    @phponwebsites Вы должны принять ответ, если он поможет вам

Ещё вопросы

Сообщество Overcoder
Наверх
Меню