zoukankan      html  css  js  c++  java
  • Thinkphp 修改U方法按路由规则生成url

    tp开户路由后,使用U方法是不会按路由规则生成url的,一般我们是要手动修改模版,把里面的U方法去掉,手动修改链接,如果是已经写好的程序,后期才添加路由,修改起链接就太麻烦了

    今天无聊就修改了一下U方法,让它按路由规则生成url,再不用一条条修改模版了哈哈哈哈哈哈

    下面代码添加到 /ThinkPHP/Common/functions.php 文件U方法里,大概 263行(if($suffix) 前面):

    if(C('URL_ROUTE_RULES')){
        foreach (C('URL_ROUTE_RULES') as $rule=>$real) {
            if(strpos($url, $real)!==false){
                $url = str_replace($real, $rule, $url);
                preg_match("//(w+).php/(w+)/", $url, $match);
                if(isset($match[1]) && isset($match[2]) && $match[1][0]==$match[2][0]){
                    $url = preg_replace("//(w+).php/", '', $url);
                }elseif(strpos($url, 'index.php')!==false){
                    $url = str_replace("/index.php", '', $url);
                }else{
                    $url = str_replace(".php", '', $url);
                }
    
                preg_match_all("/(:w+)/", $rule, $matches);
                foreach ((array)$matches[1] as $match) {
                    $url = str_replace($match . '/', '', $url);
                    $url = str_replace(substr($match, 1) . '/', '', $url);
                }
            }   
        }   
    }
  • 相关阅读:
    Java文件读取
    Java继承
    JAVA程序提示错误:需要class,interface或enum解决方法
    SQL 修改列名
    转 父表字表统计查询的sql练习
    powerdesigner12.5入门教程
    现实世界
    oracle添加联合主键
    hashtable的用法
    JQ 1
  • 原文地址:https://www.cnblogs.com/tujia/p/6323212.html
Copyright © 2011-2022 走看看