zoukankan      html  css  js  c++  java
  • PHP中识别并解析URL

     

    一、从字符串中识别URL

    可以使用正则表达式匹配

    function getUrl()
    {
        $str = '提取urlhttp://127.0.0.1/demo/index';
        $pattern = "/http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*(),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+/";
        preg_match($pattern, $str, $matches);
        return $matches ? $matches[0] : '';   // http://127.0.0.1/demo/index
    }

    二、解析URL

    可以使用PHP提供的parse_url()方法解析

    function parseUrl()
    {
        $url = 'http://127.0.0.1/demo/index';
        $parseUrl = parse_url($url);
        return $parseUrl;
    }
    // 得到结果
    {
      "scheme": "http",
      "host": "127.0.0.1",
      "path": "/demo/index"
    }

    parse_url()
    本函数解析一个 URL 并返回一个关联数组,包含在 URL 中出现的各种组成部分。
    本函数不是用来验证给定 URL 的合法性的,只是将其分解为下面列出的部分。不完整的 URL 也被接受,parse_url() 会尝试尽量正确地将其解析。
    返回数组中可能的键有以下几种:
    scheme - 如 http
    host
    port
    user
    pass
    path
    query - 在问号 ? 之后
    fragment - 在散列符号 # 之后

  • 相关阅读:
    TQJson序列和还原clientdataset.data
    BPL插件框架的二种实现
    数据序列的本质论
    MSGPACK(一)
    内存数据库和关系数据库之间的数据同步原理
    redis神器
    从Cell的视图推出一个新的界面
    iOS -- DES算法
    Base64---加密
    iOS -- MD5加密
  • 原文地址:https://www.cnblogs.com/woods1815/p/14951818.html
Copyright © 2011-2022 走看看