我目前使用下面的代碼轉換我的琴絃,以搜索引擎友好的URL:PHP - 我怎樣才能用空格代替破折號?
function url($url) {
$url = str_replace(" ", " ", $url);
$url = str_replace(array("'", "-"), "", $url);
$url = mb_convert_case($url, MB_CASE_LOWER, "UTF-8");
$url = preg_replace("#[^a-zA-Z]+#", "-", $url);
$url = preg_replace("#(-){2,}#", "$1", $url);
$url = trim($url, "-");
return $url;
}
當我查詢我的數據庫我該網址一致反對我的數據庫中的文章標題,我的問題是,在進行SEO後友好的網址功能的網址不匹配我的數據庫中的任何文章標題。
破折號(不知道小寫字母)的含義意味着它們與數據庫中的條目完全不同。
什麼是我的下一步,應該怎麼查詢數據庫之前刪除破折號,如果又如何?
或者是更好的做法,將文章ID包含在我的網址的某處並引用它?
要加載您的文章,您需要先查詢數據庫。爲什麼不存儲ID然後通過ID訪問?訪問DB使用字符串比使用數字,特別是如果他們的PK方式慢。 – m0skit0
這似乎是最好的選擇。歡呼聲 – hairynuggets