2017-01-26 31 views
-2

我其中有一個URL片段的HTML內容看起來如下:PHP preg_match_all爲特定值

<a href="#/news/0294928/what-a-great-idea"> 

我需要做的就是抓住/加#/新聞數量

任何好主意? 我試過以下,但對我來說,僅得到4結果

preg_match_all('/<a href="#\/news\/(.+)\/?\"?>/i', $html_cont, $matches); 

請幫助我,謝謝 。

+1

首先您使用XPath提取href屬性,然後用'/'分解結果,然後將項目編號爲2. –

+0

使用javascript的window.location.href抓取並在/上分開。從那裏它是結果數組中的第三項。 –

+0

還有許多其他

回答

0

我的評論的細節:

$dom = new DOMDocument; 
libxml_use_internal_errors(true); 
$dom->loadHTML($yourHTML); 

$xp = new DOMXPath($dom); 
$hrefNodeList = $xp->query('//a/@href[starts-with(., "#/news/")]'); 

foreach ($hrefNodeList as $hrefNode) { 
    echo explode('/', $hrefNode->nodeValue)[2] . PHP_EOL; 
} 
+0

與preg_match_all任何想法() –

+0

@WilsonB​​reiner:。精確的主意,如果你想知道的,但我儘量避免低劣的代碼 –