preg_match を使用して、2 つの HTML タグの間のテキストを取得しようとしています。
これが私のコードの簡略版です:
$sPattern = "/<li class=\"sample\">(.*?)<\/li>/s";
$sText = "blah blah blah <li class=\"sample\">hello world!</li> blah blah blah";
preg_match($sPattern,$sText,$aMatch);
echo '<pre>'.print_r($aMatch).'</pre>';
ただし、このコードを実行すると、完全な HTML 文字列が返されます。
<li class=\"sample\">hello world!</li>
正規表現にどのような変更を加える必要があるか知っている人はいますか?
注: HTML ページからデータを解析する他の方法を知っています。さまざまな理由から、DOMDocument と DOMXPath はオプションではありません。私は RegEx を使い続けています。