我其中有一个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抓取并在/上分开。从那里它是结果数组中的第三项。 –
还有许多其他