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
1
A
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
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.
+1 für Vorschläge über die Frage nach URL anstelle von Code. –