2016-06-23 11 views
0

正規表現は私を狂ったようにしています。私はこれを飛ばそうと20分を費やしてしまいました。そして、私はここにいる誰かが2秒でこれを飛び出すことができるだろうと知っています! :-)Rumble URLからビデオIDを引き出すための正規表現

は、ここでのサンプルソースURLです:https://rumble.com/v30sqt-oreo-ice-cream-cake.html

私は "v30sqt" の文字を抽出したいです。実際には、 "rumble.com/"の後ろと最初のダッシュの前に任意の文字を抽出したいと思います。英数字、すべての文字、6文字以上の長さなどがあります。これは動画IDです。

これはphp preg_matchです。

+0

正規表現 '〜ランブル\ .COM /([^ - ] +) - 〜'? https://regex101.com/r/rE2mZ9/1 – chris85

答えて

1

この1つはあなたのために働くべきで試してみてください。

/(?<=rumble.com\/).*?\b/g 

Demo and Explaination

2

あなたは、単に代わりにexplodeとともにregexなどcurrent機能を使用してのparse_urlを使用することができるよう

$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]; 

Demo

0

行くため:

<?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 
} 
?> 

a demo on ideone.comとなります。

関連する問題