1

YouTube が提供する埋め込みビデオ スクリプトをユーザーがコピー アンド ペーストしてデータベースにアップロードできるサイトがあります。このスクリプトが有効な youtube スクリプトであり、誰かが入力したランダムなテキストではないことを確認できるようにしたいと考えています。これは preg マッチで実行できると思います。何か案は?

4

2 に答える 2

3

あなたが使用することができます:

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);

ただし、URLを入力して(検証と解析がはるかに簡単です)、これを自分で生成する方がよいでしょう。

于 2009-05-02T00:27:21.630 に答える
0

URL を一致させるには:

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

を使用して、$videoId必要な YouTube URL 形式にラップできます。

于 2009-12-23T03:49:42.387 に答える