У меня есть простой вопрос для гуру-регекса. И да ... Я попробовал несколько различных вариантов регулярного выражения, прежде чем публиковать здесь. Простите мое незнакомое регулярное выражение. Это нацелено на PHP.HTML-выражение для извлечения данных
У меня есть следующий HTML:
<div>
<h4>
<a href="somelink.html">some text blah</a>
</h4>
I need this text<br />I need this text too.<br />
</div>
<div>
<h4>
<a href="somelink.html">some text blah</a>
</h4>
I need this text<br />I need this text too.<br />
</div>
<div>
<h4>
<a href="somelink.html">some text blah</a>
</h4>
I need this text<br />I need this text too.<br />
</div>
То, что я пытался, что, казалось, скорее всего, работать:
preg_match_all('/<div><h4><a href=".*">.*<\/a><\/h4>(.*)<br \/>(.*)<br \/>/', $haystack, $result);
выше возвращает ничего.
Итак, я попробовал это, и я получил первую группу, чтобы соответствовать, но я не смог получить вторую.
preg_match_all('/<div><h4><a href=".*">.*<\/a><\/h4>(.*)<br \/>/', $haystack, $result);
Спасибо!
* Используйте HTML-парсер * – Ryan
возможно дубликат [спичечных RegEx открытых тегов, кроме XHTML автономных тегов] (http://stackoverflow.com/questions/1732348/regex-match-open-tags-except -xhtml-self-contains-tags) – Dai
'. *' не будет соответствовать новым строкам без [модификатора '/ s'] (http://us2.php.net/manual/en/reference.pcre.pattern.modifiers .php). – user113215