Php 类别层次结构和文章的SEF URL

Php 类别层次结构和文章的SEF URL,php,content-management-system,sef,Php,Content Management System,Sef,我已经使用PHP编写了类似于HMVC体系结构的小框架代码。下面是要访问的SEF URL示例 以上内容很好,并且使用固定类型的数据。但是,当我尝试构建一个简单的CMS时,我在另一个类别中创建了一个类别,然后在其他类别中创建了一个类别等等,即多层次的类别结构,其中包含一组文章,我无法使用上述URL。我想要像这样的东西 有谁能帮我完成上面的代码片段吗 如果我没有误解,您想按sefurl查询类别 首先,您需要将数据名转换为sefurl function sefurl($s){ $s=

我已经使用PHP编写了类似于HMVC体系结构的小框架代码。下面是要访问的SEF URL示例

以上内容很好,并且使用固定类型的数据。但是,当我尝试构建一个简单的CMS时,我在另一个类别中创建了一个类别,然后在其他类别中创建了一个类别等等,即多层次的类别结构,其中包含一组文章,我无法使用上述URL。我想要像这样的东西


有谁能帮我完成上面的代码片段吗

如果我没有误解,您想按sefurl查询类别 首先,您需要将数据名转换为sefurl

function sefurl($s){ 
     $s=trim($s);
     $tr = array('ş','Ş','ı','I','İ','ğ','Ğ','ü','Ü','ö','Ö','Ç','ç','(',')','/',':',',');

     $eng = array('s','s','i','i','i','g','g','u','u','o','o','c','c','','','-','-','');

     $s = str_replace($tr,$eng,$s);



     $s = preg_replace('/&.+?;/', '', $s);

     $s = preg_replace('/\s+/', '-', $s);

     $s = preg_replace('|-+|', '-', $s);

     $s = preg_replace('/#/', '', $s);

     $s = str_replace('.', '.', $s);

     $s = trim($s, '-');

     $s = htmlspecialchars(strip_tags(urldecode(addslashes(stripslashes(stripslashes(trim(htmlspecialchars_decode($s))))))));

     return $s;

        }
现在你可以测试它了 例如,我的分类名称是“这是一个测试分类”

结果就像“这是一个测试分类”

您可以将其用于分类id

设置新类别时,在DB表中创建一个新冒号,如sefurl。将类别名称转换为sefurl,然后将其设置为sefurl冒号

您可以按类别的sefurl进行查询

http://yourdomain.com/categori/this-is-a-categor-/
通过“/”解析url,并在分类表中查询它之后获取“this-is-a-categor-”

http://yourdomain.com/categori/this-is-a-categor-/