使用 PHP 中的正则表达式来从 URL 中提取想要的部分

2023-05-16  本文已影响0人  蛋狗2018
$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/ 后面跟着一个或多个字母、数字或下划线字符,最后以一个问号字符结尾的字符串。

上一篇 下一篇

猜你喜欢

热点阅读