4

フォームのフィールドを検証して、Vimeo ビデオにリンクする URL の適切なフォーマットが含まれていることを確認したいと考えています。以下は私が Javascript で持っているものですが、これを PHP に変換する必要があります (私の得意分野ではありません)。

基本的に、フィールドをチェックする必要があり、フォーマットが間違っている場合は、エラー メッセージを変数として保存する必要があります。正しい場合は、変数を空に保存します。

                // Parse the URL
            var PreviewID = jQuery("#customfields-tf-1-tf").val().match(/http:\/\/(www.vimeo|vimeo)\.com(\/|\/clip:)(\d+)(.*?)/);
            if ( !PreviewID ) {
                jQuery("#cleaner").html('<div id="vvqvideopreview"><?php echo $this->js_escape( __("Unable to parse preview URL. Please make sure it's the <strong>full</strong> URL and a valid one at that.", 'vipers-video-quicktags') ); ?></div>');
                return;
            }

従来の vimeo の URL は次のようになります: http://www.vimeo.com/10793773

ありがとう!

4

4 に答える 4

4
if (0 === preg_match('/^http:\/\/(www\.)?vimeo\.com\/(clip\:)?(\d+).*$/', $value))
{
    $error = 'Unable to parse preview URL';
}

あなたのコメントに返信して、更新してください:

if (0 === preg_match('/^http:\/\/(www\.)?vimeo\.com\/(clip\:)?(\d+).*$/', $value, $match))
{
    $error = 'the error';
}
else
{
    $vimeoID = $match[3];
}
于 2010-04-18T14:24:50.530 に答える
2

https / http urlでこれを試してください

if (preg_match('/^(http|https):\/\/(www\.)?vimeo\.com\/(clip\:)?(\d+).*$/', $vimeo_url, $vimeo_id)){
    $vimeoid = $vimeo_id[4];
}else{
   // error message... 
}
于 2012-06-27T13:43:27.573 に答える
2

$_REQUEST をpreg_matchのように解析するだけです。

$vimeo_array = array();
$vimeo_link = $_REQUEST("form_input_name");
if(preg_match(/http:\/\/(www.vimeo|vimeo)\.com(\/|\/clip:)(\d+)(.*?)/, $vimeo_array, $arr))
{
  $vimeo_code = $vimeo_array[3];
} else {
  $error = "Not a valid link";
}
于 2010-04-18T14:34:07.340 に答える
0

Vimeo ID 番号を取得するには、次のようにします。

$link = 'http://vimeo.com/10638288';
if (preg_match('~^http://(?:www\.)?vimeo\.com/(?:clip:)?(\d+)~', $link, $match)) {
    $vimeo_id = $match[1];
} else {
    // Show user an error, perhaps
}

また、正規表現を少し変更して、過度のバックスラッシュ エスケープ文字を節約しました。

于 2010-04-18T14:52:46.323 に答える