2009-05-01 7 views
1

Ich habe eine Website, die Benutzer das eingebettete Video-Skript, das Youtube bietet, kopieren und einfügen und in eine Datenbank hochladen können. Ich möchte prüfen können, ob dieses Skript ein gültiges Youtube-Skript ist und nicht nur zufälliger Text, den jemand eingegeben hat. Ich glaube, das kann mit Preg Match geschehen. Irgendwelche Ideen?PHP Validieren Youtube-Skript

Antwort

3

könnten Sie verwenden:

preg_match('/^<object (?<width_height>width="[[:digit:]]+" height="[[:digit:]]+")><param name="movie" value=(?<url>"http:\/\/www.youtube.com\/v\/[^&]+&hl=[[:alpha:]]{2}&fs=1")><\/param><param name="allowFullScreen" value="true"><\/param><param name="(?<asa>allowscriptaccess)" value="always"><\/param><embed src=(?P=url) type="application\/x-shockwave-flash" (?P=asa)="always" allowfullscreen="true" (?P=width_height)><\/embed><\/object>$/', $yt); 

aber es wäre besser, nur sie eine URL eingeben (die viel einfacher zu validieren und zu analysieren), und dies selbst erzeugen.

+0

+1 für Vorschläge über die Frage nach URL anstelle von Code. –

0

URLs entsprechen:

$pattern = '/.*youtube.*(v=|\/v\/)([^&\/]*).*/i'; 
preg_match($pattern, $video, $matches) 
$videoId = $matches[2]; 

Sie dann die $videoId in jedes YouTube-URL-Format wickeln können Sie wollen.