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