0
我試圖生成正確的名稱正確的鏈接正確的鏈接...生成從名稱
例如:牛逼&Ĵ汽車目前爲/TJ-汽車
但產生的,因爲我需要根據名稱進行查找,所以在嘗試轉換回名稱時,我無法進行查找。
所以......我已經將他們照顧「到_,這對於像邁克的店名的偉大工程(轉換爲mike_s店),但現在我面臨的&
這裏是我目前的功能:
// Fix the name for a SEO friendly URL
function FixNameForLink($str){
// Swap out Non "Letters" with a -
$text = preg_replace('/[^\\pL\d\']+/u', '-', $str);
// Trim out extra -'s
$text = trim($text, '-');
// Convert letters that we have left to the closest ASCII representation
$text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);
// Make text lowercase
$text = strtolower($text);
// ' has been valid until now... swap it for an _
$text = str_replace('\'', '_', $text);
// & has been valid until now... swap it for an .
$text = str_replace('&', '.', $text);
// Strip out anything we haven't been able to convert
$text = preg_replace('/[^-_\w]+/', '', $text);
return $text;
}
請注意,&替代不會發生。我怎樣才能確保傳遞給這個函數的任何字符串都會用_替代,並用012替代。
你的代碼中包含的操作,一般是不可逆的,因此無法得到原始輸入從固定名稱開始。你在這方面走錯了路。如果你需要原始輸入然後保存它。 – Jon
請重新閱讀我需要的內容...這是在問題中。我瞭解你的顧慮,但我的需求與他們不同。 – Kevin
您寫下「我試圖轉換回名稱時無法進行查找」。我的意思是說你不能*在一般情況下轉換回名字,因爲你正在做一些事情,比如不加區分地用短劃線替換字符。當你的需求與現實相沖突時,現實總會獲勝。 – Jon