唉 - 正则表达式让我发疯,我只花了20分钟试图让它飞起来,我没有运气。而且我知道有人可以在2秒内弹出这个! : - )
以下是源网址示例:https://rumble.com/v30sqt-oreo-ice-cream-cake.html
我想提取“ v30sqt ”字符。实际上,我想在“rumble.com/”之后和第一次破折号之前提取任何字符。它可能是字母数字,可能是所有字母,可能超过6个字符等。这就是视频ID。
这是针对php preg_match
。
答案 0 :(得分:2)
您只需使用parse_url
代替regex
以及explode
和current
功能,就像
$url = "https://rumble.com/v30sqt-oreo-ice-cream-cake.html";
$parsed_arr = explode("-",ltrim(parse_url($url, PHP_URL_PATH),"/"));
echo current($parsed_arr);
或
echo $parsed_arr[0];
答案 1 :(得分:1)
答案 2 :(得分:0)
Go for:
<?php
$url = "https://rumble.com/v30sqt-oreo-ice-cream-cake.html";
$regex = '~rumble\.com/(?P<video>[^-]+)~';
if (preg_match($regex, $url, $match)) {
echo $match['video'];
# v30sqt
}
?>