【发布时间】:2011-04-21 05:25:00
【问题描述】:
我只使用 slug 来识别网站上的页面,例如:example.tld/view/this-fancy-slug。这是使用此功能自动从标题生成的:
public static function Normalize($str)
{
$charset = "UTF-8";
$separator = "-";
$str = strtolower(htmlentities($str, ENT_COMPAT, $charset));
$str = preg_replace('/&(.)(acute|cedil|circ|lig|grave|ring|tilde|uml);/', "$1", $str);
$str = preg_replace('/([^a-z0-9]+)/', $separator, html_entity_decode($str, ENT_COMPAT, $charset));
$str = trim($str, $separator);
return $str;
}
这会返回一个完美的蛞蝓......但我需要独特的蛞蝓。所以我必须结合 mysql 来检查是否存在适合创建的 slug。没问题。
问题是,如果有 ONE slug,我想在最后添加 -1。但是如果添加 3 个相等的 slug 可能会出现问题,所以......我该如何管理这个从 slug、slug-1、slug-2、slug-3...slug-100、slug-n?
提前谢谢你!
【问题讨论】: