$url = 'https://www.iesdouyin.com/share/video/7218392466599185723/?region=CN&mid=6877483731427264520&u_code=k4elae32&did=MS4wLjABAAAANURKeHmTghX1YTxl_KtDuiNovsfsJPsZoc8W6V0G6WtbUQ6aZqhbtq_q7hzXXXu5&iid=MS4wLjABAAAAD5xStWUZp9Pn15tel6FKoPhG86j5rM00f4AYhuhYLgc&with_sec_did=1&titleType=title&from_ssr=1×tamp=1680683979&life_share_ext=wyo80n/OK4Wb5DZs+711YJRdU4cjT9uMsRsxVrWaxhm8zP5KltCOfgpjeQQ3T0D823TJXNez1zogbZRFjf+TqX/Kozr/Wq35bgl8sMRDPSI%3D&utm_campaign=client_share&app=aweme&utm_medium=ios&tt_from=copy&utm_source=copy';
$pattern = '/\/(\d+)\//';
preg_match($pattern, $url, $matches);
$video_id = $matches[1];
echo $video_id; // 输出:7218392466599185723
这段代码使用正则表达式来匹配链接中的数字。如果链接格式始终保持不变,那么这段代码应该可以正常工作。
正则表达式'/\/(\d+)\//'是一个用于匹配字符串中特定模式的模式匹配规则。下面是对该正则表达式的解释:
/:正则表达式的开始和结束的定界符。
\/:表示匹配一个斜杠字符 /,由于斜杠在正则表达式中有特殊含义,需要使用反斜杠进行转义。
(\d+):括号内的 \d 表示匹配一个数字字符,+ 表示匹配前面的元素一次或多次,所以 (\d+) 表示匹配一个或多个连续的数字字符。
/:正则表达式的结束定界符。
综合起来,//(\d+)// 的作用是匹配一个以斜杠开头和结尾的字符串,并提取斜杠中间的一个或多个数字字符作为结果。例如,对于字符串 /123/,该正则表达式将匹配整个字符串,并提取出 123。
网友评论