У меня есть это содержание:
<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! </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! </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);
Может кто-нибудь, пожалуйста, позволь мне.
Пожалуйста, проверьте reg_exp
что я использовал ниже. Надеюсь, это именно то, что вы ищете.
preg_match_all('/<h1.*?>(.*)<\/h1>/msi',$result, $subresult);
print_r($subresult);
.*?
и .*
в том же выражении с U
не только сбивает с толку, но и вводит в заблуждение. Я вообще не рекомендую модификатор U
Вы должны использовать m-опцию, чтобы точка совпадала с новыми символами.
preg_match_all(''<h1(.*?)</h1>'im',$result, $subresult);
Но я согласен с комментариями, что вместо этого вы должны использовать DOMDocument.
$
качестве разделителя, так как он имеет значение в регулярном выражении, которое может запутать других читателей ...
preg_match