代码之家  ›  专栏  ›  技术社区  ›  Dave Kiss

简单PHP正则表达式问题

  •  4
  • Dave Kiss  · 技术社区  · 16 年前

    我想验证表单中的一个字段,以确保它包含链接到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;
                }
    

    http://www.vimeo.com/10793773

    谢谢!

    4 回复  |  直到 16 年前
        1
  •  4
  •   Amy B    16 年前
    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];
    }
    
        2
  •  2
  •   retro    16 年前

    只需使用 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";
    }
    
        3
  •  2
  •   Jack    14 年前

    请尝试以下https/HTTPURL

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

    要获取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
    }
    

    推荐文章