[英]PHP preg_match to grab text in between two HTML tags
我正在嘗試使用preg_match來抓取兩個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。
這應該可以按照您想要的方式工作:
$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>'.$aMatch[1].'</pre>';
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.