0
我只使用slu to识别网站上的一个页面,如:example.tld/view/this-fancy-slug。这是从标题自动与此函数生成:独特的slu that,如果适合slug-1,slug-2 ... slug-n
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。没有问题。
问题是我想在最后添加一个-1,如果有一个slug。但可以越野车,如果加3个等于蛞蝓所以...我如何管理这个从塞,去鼻涕虫1,塞-2,鼻涕虫3 ... 塞-100,slug-n?
预先感谢您!
这个函数只给了我标题为slu g。在另一部分中,MySQL查询,我必须检查它。我不知道如何管理:检查slug是否返回true,如果返回,请检查最后一个数字是什么(NULL,-1,-2 ...)。 – ipalaus 2010-10-05 10:22:11
这正是我回答的问题。使函数返回使用slu number的次数。要做到这一点,你不要检查SQL(LIKE或=)中的完全匹配,但检查正则表达式模式(RLIKE)。 http://dev.mysql.com/doc/refman/5.1/en/regexp.html#operator_regexp – 2010-10-05 10:40:21
我不知道RLIKE!谢谢! :) – ipalaus 2010-10-05 13:02:30