Preg match all 最后两点之间的条纹

Preg match all 最后两点之间的条纹,preg-match-all,Preg Match All,我有一个网站,我想脚本的唯一性在最后两个点。我有些东西还可以,但不是100%。如果有机会请帮助我,谢谢 获取文件内容时,您将看到如下内容: http://www.alkdjfsadf.com/masdfsdfv/i-want-to-grab-the-following.z3jTdIcaSlGR.html 我只希望链接中有“masdfsdfv”来获取ID 我想把:z3jTdIcaSlGR导出为一个变量 我是这样做的: $dp = "http://www.alkdjfsadf.com/masdfs

我有一个网站,我想脚本的唯一性在最后两个点。我有些东西还可以,但不是100%。如果有机会请帮助我,谢谢

获取文件内容时,您将看到如下内容:

http://www.alkdjfsadf.com/masdfsdfv/i-want-to-grab-the-following.z3jTdIcaSlGR.html
我只希望链接中有“masdfsdfv”来获取ID

我想把:z3jTdIcaSlGR导出为一个变量

我是这样做的:

$dp = "http://www.alkdjfsadf.com/masdfsdfv/grab-moi.html?page=1";
$sp = @file_get_contents($dp);

preg_match_all("(./(.*?).html/)", $sp, $content); 

foreach($content[0] as $surl) {
echo $nctid
}

非常感谢您在这方面给予我的任何帮助

这是否符合您的要求:

preg_match_all('(/masdfsdfv/.*\\.(.*?)\\.html)', $sp, $content);
foreach ($content[1] as $surl) {
    echo $surl, "\n";
}

您在URL末尾有一个额外的
/
,但忘记转义文本
。捕获组的匹配项列表在
$content[1]
中,而不是
$content[0]
中。你在回显
$nctid
而不是
$surl

我们很接近了,但我不需要整个文件名,我只需要.html之前和倒数第二个之后的ID/text。(点)它给了我:i-want-to-grab-the-following.z3jTdIcaSlGR-我只想:z3jTdIcaSlGR-请看我上面的url示例…无论如何,我们可以在做条带之前进行搜索以确保这里有两个点?我不希望任何带有.html的url出现在列表中…你是对的,我没有点击刷新。。。现在工作得很好,但是我仍然从没有双点的链接中获取文本…我从URL中去掉了点,它与regexp完全不匹配。