$url = 'https://www.xiaohongshu.com/discovery/item/642ff3000000000013017bb0?app_platform=android&app_version=7.82.0&share_from_user_hidden=true&type=video&xhsshare=CopyLink&appuid=5db949950000000001001dca&apptime=1681100450';
// 使用正则表达式从 URL 中匹配 item 后面的字符串
if (preg_match('/\/item\/(\w+)\?/', $url, $matches)) {
$itemId = $matches[1];
echo $itemId; // 输出 642ff3000000000013017bb0
}
在上面的代码中,我们使用了 PHP 中的 preg_match() 函数来匹配 URL 中 /item/ 后面的字符串。这里使用了正则表达式 /item/(\w+)?,其中 \w+ 表示匹配一个或多个字母、数字或下划线字符。
如果匹配成功,$matches 数组将包含所有匹配的结果,其中 $matches[0] 表示整个匹配结果,$matches[1] 表示第一个括号中的匹配结果,以此类推。在本例中,我们只需要第一个括号中的匹配结果,即 $matches[1],即为所需的 642ff3000000000013017bb0。
总结起来,//item/(\w+)?/ 的含义是匹配形如 /item/ 后面跟着一个或多个字母、数字或下划线字符,最后以一个问号字符结尾的字符串。
网友评论