Php 类别层次结构和文章的SEF URL
我已经使用PHP编写了类似于HMVC体系结构的小框架代码。下面是要访问的SEF URL示例 以上内容很好,并且使用固定类型的数据。但是,当我尝试构建一个简单的CMS时,我在另一个类别中创建了一个类别,然后在其他类别中创建了一个类别等等,即多层次的类别结构,其中包含一组文章,我无法使用上述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=
有谁能帮我完成上面的代码片段吗 如果我没有误解,您想按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-/