微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 帮助正则表达式匹配任何网址但管理文件夹的网址

我被困在一些我知道必须简单的东西,但现在已经绕圈了一会儿.

我想使用PHP和preg_match创建一个正则表达式,用于cms路由功能,匹配任何不以字符串’admin /’开头的URL,因为somedomain.com/admin/将是cms的管理部分.

到目前为止我已经尝试过

preg_match('#^([^admin])+(.+)$#','mens-books'))

由于我正在寻找的url字符串’mens-books’与字符串’admin’中的字母m匹配,因此失败.

我也试过这样做:

preg_match('#^([^admin$])+(.+)$#','mens-books'))

因为美元符号表示字符串的结尾,但这也不起作用.

然后我这样做了:

preg_match('#^[?!=admin]+(.+)$#','mens-books'))

返回true但只有我认为因为正则表达式中的?!=现在将匹配以a,d,m,i或n开头的任何内容.

请有人能帮忙吗?我对任何建议持开放态度.

谢谢.

马特

if (substr($url,6) !== 'admin/')
{
  echo 'Yippie';
}

但要回答正则表达式的问题.使用方括号时,您指定了一个字符类.这意味着[admin]匹配单个字符,即a,a,m或i.如果跳过括号,则匹配文字字符串.但是,正如我的代码证明,如果你需要检查字符串是否以固定的子字符串开头,则根本不需要使用正则表达式.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐