Я не считаю себя PHP «noob», но регулярные выражения для меня все еще новы.Regex - Захват определенного слова в определенных тегах
Я делаю CURL, где получаю список комментариев. Каждый комментарий имеет этот HTML структуру:
<div class="comment-text">the comment</div>
То, что я хочу, это просто: я хочу получить, от preg_match_all, комментарии, которые имеют слово «крутой» в этом конкретном DIV тег.
То, что я до сих пор:
preg_match_all("#<div class=\"comment-text\">\bcool\b</div>#Uis", $getcommentlist, $matchescomment);
К сожалению, это не работу. Но если REGEX просто #\bcool\b#Uis
, он будет работать. Но я действительно хочу записать слово «cool» в этих тегах.
Я знаю, что могу делать 2 регулярных выражения (один из них получает все комментарии, другой, который фильтрует каждый из них, чтобы записать слово «круто»), но мне было интересно, как я могу сделать это в одном preg_match_all?
Я не думаю, что я далек от решения, но почему-то я просто не могу его найти. Что-то определенно отсутствует.
Спасибо за ваше время.
(Отредактировано: не было "_all" для preg_match_all) ... Вам также не нужен модификатор s (режим одиночной строки), потому что в регулярном выражении не существует периодов. – Tim
@Tim: Модификатор s был на всякий случай, когда на входе содержался блок html, который охватывал несколько строк. Для ввода, указанного OP или мной, это не требуется, но могут быть и другие случаи, в которых это было бы. –
Как и было предсказано, он отлично работает. Спасибо миллион за ваш ответ и извините, если я не ответил раньше, я отправил это около часа, прежде чем ложиться спать. Еще раз спасибо. – Justin01