preg_match('/<div class="articleTitle">(.*?)<\/div>/i', $source, $matches);
print_r($matches);
Это "объяснение" от RegexBuddy:
<div class="articleTitle">(.*?)</div>
Options: case insensitive
Match the characters “<div class="articleTitle">” literally «<div class="articleTitle">»
Match the regular expression below and capture its match into backreference number 1 «(.*?)»
Match any single character that is not a line break character «.*?»
Between zero and unlimited times, as few times as possible, expanding as needed (lazy) «*?»
Match the characters “</div>” literally «</div>»
Created with RegexBuddy
(. *?) Будет захватывать все между тем, что предшествует, и тем, что следует за ним, и это будет место в переменной $ match.
Я предполагал, что HTML будет в переменной $ source.
Я предлагаю вам взглянуть на RegexBuddy , это 39,95 (USD), но оно того стоит. Он может помочь в создании ваших RegEx с большинством основных реализаций RegEx, а также может помочь вам изучить RegEx