我其中有一個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);
請幫助我,謝謝 。
我其中有一個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);
請幫助我,謝謝 。
$string = '<a href="#/news/0294928/what-a-great-idea">';
preg_match_all("/#\/news\/(.*?)\//",$string, $m);
echo '<pre>'.print_r($m[1]).'</pre>';
所以在$ M [1]都在你的號碼,如果多數民衆贊成茜找誰?
哦,有什麼了不起! –
我的評論的細節:
$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;
}
與preg_match_all任何想法() –
@WilsonBreiner:。精確的主意,如果你想知道的,但我儘量避免低劣的代碼 –
首先您使用XPath提取href屬性,然後用'/'分解結果,然後將項目編號爲2. –
使用javascript的window.location.href抓取並在/上分開。從那裏它是結果數組中的第三項。 –
還有許多其他