[英]Simple PHP Regex question
我想驗證表單中的字段,以確保它包含鏈接到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網址如下所示: http : //www.vimeo.com/10793773
謝謝!
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];
}
試試https / http url
if (preg_match('/^(http|https):\/\/(www\.)?vimeo\.com\/(clip\:)?(\d+).*$/', $vimeo_url, $vimeo_id)){
$vimeoid = $vimeo_id[4];
}else{
// error message...
}
只需用preg_match解析你的$ _REQUEST即可。
$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";
}
要獲得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
}
我還略微修改了正則表達式,以節省過多的反斜杠轉義字符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.