dongzhang1875 2018-11-14 16:05
浏览 88

检查URI PHP

I have a problem with checking the URI. I would like to create a pattern that will accept such a URI:

?name=key&name=key
#anchor

foo?name=key&name=key
foo#anchor

foo/bar/*
foo/bar?name=key&name=key
foo/bar#anchor

At the moment I have something like this:

$path = 'foo';
$uri = 'foo/bar/bb';
preg_match('/^('.$path.'[^\w])[\/\w\S]+$/i', $uri);
// OR
preg_match('/^('.$path.'|'.$path.'(\?|#)[\w\S\=\.&%-]+)$/i', $uri);

I would like to simplify it somehow. Thank you in advance for your help.

  • 写回答

1条回答 默认 最新

  • doubu4406 2018-11-14 16:24
    关注

    If you getting full url then it'll work. You can use filter_var with FILTER_VALIDATE_URL

    Snippet

    $url = "https://stackoverflow.com/questions/53304342/checking-the-uri-php";
    if (filter_var($url, FILTER_VALIDATE_URL)) {
        echo "$url is a valid URL";
    } else {
        echo"$url is not a valid URL";
    }
    

    Live demo
    filter_var

    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料