我想我有一个不寻常的问题。我正在开发一个项目(在 PHP / MySQL 中),用户可以提供一个写成正则表达式的路径,并且该站点将加载一些基于此的内容。比如说,有人提供了这个正则表达式:
articles\/([0-9]+)$
当有人访问http://example.com/articles/3时,它将加载该特定页面及其相关内容和设置。所有这些路径都存储在 MySQL 数据库中。当用户访问该站点时,它会根据正则表达式数据库检查 URL,并找到要显示的适当内容。
这是我的问题:用户可以将任意数量的正则表达式路径与任意数量的其他页面相关联,并且它们可以与任何其他正则表达式非常相似。我的直接想法是根据 URL 的开头(当然是在 example.com/ 之后)缩小搜索范围,并查看所有选项,直到找到完全匹配的内容。不过,我很担心,因为在最坏的情况下,它可能会在找到完全匹配之前查看几十个甚至更多选项……这会浪费宝贵的资源。
有人对我如何改进系统有任何想法吗?
提前致谢。