上篇文章讲到多主题的解决方案:简单暴力的TP5多主题方案

为了简化配置,所以将域名前的协议 http/https 截取了。

后台配置时就需要效验配置的格式是否正确,需要用到的正则代码如下:

/***
 * @param $url 合法格式为 ***.*** 或 ***.***.***
 * @return bool
 */
function cusCheckUrl($url){
    $n = preg_match("/^([a-zA-Z0-9_]+\\.)*([a-zA-Z0-9_]+){2}(:\d+)*$/",$url,$res_arr);
    ///不是url
    if(empty($res_arr) && $n == 0){
        return false;
    }
    ///是url
    return true;
}

测试效果如下:

echo '<pre>';
var_dump(cusCheckUrl('baidu.com'));
var_dump(cusCheckUrl('www.baidu.com'));
var_dump(cusCheckUrl('doc.hb.baidu.com'));
var_dump(cusCheckUrl('doc.hb.baidu.com:80'));
var_dump(cusCheckUrl('https:doc.hb.baidu.com:80'));
var_dump(cusCheckUrl('http:doc.hb.baidu.com:80'));

最新文章

  1. 计算机程序的思维逻辑 (30) - 剖析StringBuilder
  2. CSS div水平垂直居中和div置于底部
  3. sql server日期时间转字符串
  4. nfs服务器的建立
  5. 想成为Java高级工程师的看过来
  6. 本地apache 可以正常访问,lnmp服务器访问404错误
  7. JMeter生成HTML性能报告
  8. 如何将portfolio产品图片上的悬停去掉?
  9. C# 错误:空对象不能转换为值类型
  10. HDOJ 5639 Transform
  11. 【转载】tolua之wrap文件的原理与使用
  12. 公司-半导体:Micron
  13. Confluence 6 自定义站点和空间布局
  14. 实现本地svn目录同步时,服务器的相应目录保持自动同步
  15. 远程桌面中Tab键不能补全的解决办法
  16. django的csrf
  17. centos多版本python安装pip
  18. sencha touch 入门系列 扩展篇之sencha touch 项目打包压缩
  19. PHP获取时间比实际时间少8小时的问题
  20. 团队Alpha冲刺(九)

热门文章

  1. pgpool如何对数据库节点进行状态检查及相关数据结构描述
  2. hiho 1476 - 矩形计数 容斥
  3. 从Dinnr失败看产品市场可行性认知有哪些不足
  4. php基础-------preg_replace()与preg_replace_callback()
  5. [分享]前端javascript插件(均开源)
  6. springboot中文文档
  7. Android开发进度03
  8. 51 nod 1693 水群
  9. 【MVC架构】——怎样利用Json在View和Controller之间传递数据
  10. java结合jQuery.ajax实现左右菜单联动刷新列表内容