gpt4 book ai didi

php - 现在如何检查 YouTube 视频 URL 是否正在验证?

转载 作者:行者123 更新时间:2023-12-03 05:49:42 24 4
gpt4 key购买 nike

我有一些代码可以检查 YouTube 视频 URL 在 PHP 中是否有效。

<?php
$rx = '~
^(?:https?://)? # Optional protocol
(?:www\.)? # Optional subdomain
(?:youtube\.com|youtu\.be) # Mandatory domain name
/watch\?v=([^&]+) # URI with video id as capture group 1
~x';

$has_match = preg_match($rx, $vid1, $matches);
?>

对于此类 URL,它的工作原理类似,例如

https://www.youtube.com/watch?v=cpPG0bKHYKc

但它不适用于某些 URL,例如:

https://youtu.be/auz2t9nBcwU

最佳答案

正如您的正则表达式中的注释所述,协议(protocol)和子域是可选的。任何一种形式的域名都是允许的。正则表达式的最后一部分是您遇到问题的地方。 /watch\?v=然后除了 &是必须的。您的第二个网址没有 /watch在里面。您可以制作 /watch可选但随后 youtube.com/anything将被允许​​。我建议将允许的格式放入您的更改中。就像是:

^(?:https?://)?(?:www\.)?(?:youtube\.com/watch\?v=([^&\n]+)|youtu\.be/([a-zA-Z\d]+))$

我想会为你做的。

演示: https://regex101.com/r/TKPtPD/1
[a-zA-Z\d]+也是 youtu.be 之后的有效字符领域。如果可以出现更多字符,则需要更新该类。

关于php - 现在如何检查 YouTube 视频 URL 是否正在验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41214508/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com