2016-06-23 6 views
0

Argh-- Reguläre Ausdrücke machen mich verrückt, ich habe gerade 20 Minuten damit verbracht, das zum Fliegen zu bringen und ich habe kein Glück. Und ich weiß, dass jemand hier in 2 Sekunden herauskommen kann! :-)Regex zum Ziehen der Video ID von Rumble URL

Hier ist eine Beispielquelle URL: https://rumble.com/v30sqt-oreo-ice-cream-cake.html

ich die "v30sqt" Zeichen extrahieren möchten. Eigentlich möchte ich alle Zeichen nach "rumble.com/" und vor dem ersten Bindestrich extrahieren. Es könnte alphanumerisch sein, es könnten alle Buchstaben sein, es könnte länger als 6 Zeichen sein usw. Das ist die Video ID.

Dies ist für php preg_match.

+0

Regex '~ Rumpeln \ .com/([^ -] +) - ~'? https://regex101.com/r/rE2mZ9/1 – chris85

Antwort

2

Sie können einfach parse_url anstelle regex der Verwendung zusammen mit explode und current Funktion wie als

$url = "https://rumble.com/v30sqt-oreo-ice-cream-cake.html"; 
$parsed_arr = explode("-",ltrim(parse_url($url, PHP_URL_PATH),"/")); 
echo current($parsed_arr); 

oder

echo $parsed_arr[0]; 

Demo

0

Go für:

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

Mit a demo on ideone.com.