preg для извлечения из тега h1

0

У меня есть это содержание:

<h1 class="contf _48_black caphead">
    <span>The essence of social media is knowing your audience and engaging them in something they love. In real-time, relevance and resonance!&nbsp;</span>
    <a href="https://twitter.com/" target="_blank">
        <img class="retwt" src="images/retweet.svg">
    </a>
    <span class="secmov"><img src="images/arrow.svg"></span>
</h1>

Я пытаюсь извлечь содержимое из h1 TAG следующим образом, но не могу его получить.

<?php
$result = <h1 class="contf _48_black caphead">
        <span>The essence of social media is knowing your audience and engaging them in something they love. In real-time, relevance and resonance!&nbsp;</span>
        <a href="https://twitter.com/" target="_blank">
            <img class="retwt" src="images/retweet.svg">
        </a>
        <span class="secmov"><img src="images/arrow.svg"></span>
    </h1>;

preg_match_all('$<h1(.*?)</h1>$i',$result, $subresult);
print_r($subresult);

?>

где в качестве следующего works-

preg_match_all('$span>(.*?)</span>$i',$result, $subresult);

Может кто-нибудь, пожалуйста, позволь мне.

  • 3
    Используйте DOMDocument для такого рода задач.
  • 0
    Согласен, не разбирайте HTML с preg_match
Теги:
preg-match-all

2 ответа

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

Пожалуйста, проверьте reg_exp что я использовал ниже. Надеюсь, это именно то, что вы ищете.

preg_match_all('/<h1.*?>(.*)<\/h1>/msi',$result, $subresult);
print_r($subresult);
  • 0
    Использование .*? и .* в том же выражении с U не только сбивает с толку, но и вводит в заблуждение. Я вообще не рекомендую модификатор U
  • 0
    Хорошо, я удалил U: P
Показать ещё 2 комментария
0

Вы должны использовать m-опцию, чтобы точка совпадала с новыми символами.

preg_match_all(''<h1(.*?)</h1>'im',$result, $subresult);

Но я согласен с комментариями, что вместо этого вы должны использовать DOMDocument.

  • 0
    Я не буду использовать $ качестве разделителя, так как он имеет значение в регулярном выражении, которое может запутать других читателей ...
  • 0
    @HamZa ты прав. Обычно я ими тоже не пользуюсь. Мне было просто лень копировать код.

Ещё вопросы

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