Basit PHP Regex soru

4 Cevap php

Ben emin bir Vimeo video bağlayan bir URL için uygun biçimlendirmeyi içeren yapmak için bir formda bir alan doğrulamak istiyorum. Aşağıda JavaScript ne var, ama ben PHP (benim forte) Bu over dönüştürmek gerekiyor

Temelde, ben alanı kontrol etmeniz gerekir ve bu hatalı biçimlendirilmiş ise, ben bunun doğru olup olmadığını, i değişkeni boş saklayın .. bir değişken olarak bir hata mesajı saklamak gerekir.

                // 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;
            }

http://www.vimeo.com/10793773: Geleneksel vimeo url bu gibi görünüyor

Teşekkürler!

4 Cevap

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

Update, in reply to your comment:

if (0 === preg_match('/^http:\/\/(www\.)?vimeo\.com\/(clip\:)?(\d+).*$/', $value, $match))
{
    $error = 'the error';
}
else
{
    $vimeoID = $match[3];
}

Sadece preg_match gibi ile $ _REQUEST ayrıştırmak.

$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";
}

Https / http url için bu deneyin

if (preg_match('/^(http|https):\/\/(www\.)?vimeo\.com\/(clip\:)?(\d+).*$/', $vimeo_url, $vimeo_id)){
    $vimeoid = $vimeo_id[4];
}else{
   // error message... 
}

Vimeo kimlik numarası almak için, aşağıdaki gibi bir şey yapabilirsiniz:

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

Ben de biraz aşırı ters eğik çizgi karakterleri kaydetmek için, düzenli ifade değiştirdi.