Laravel中str_slug()的疑問

來源:互聯網
上載者:User
str_slug()怎麼才能支援中文。隨即產生4位元會不會更好呢?謝謝

回複內容:

str_slug()怎麼才能支援中文。隨即產生4位元會不會更好呢?謝謝

正好前天我在研究這個,然後自己造了一個輪子,應該很符合你的要求:

https://github.com/JellyBool/...

具體的效果大概是下面這個樣子:

app('translug')->translate('如何安裝 Laravel'); // or Translug::translate('如何安裝 Laravel');//How to install the Laravelapp('translug')->translug('如何安裝 Laravel'); // or Translug::translug('如何安裝 Laravel');//how-to-install-the-laravel//或者你只想要 slug 的話translug('如何安裝 Laravel');//how-to-install-the-laraveltranslug('怎麼理解 laravel 關聯模型');//how-to-understand-the-laravel-associated-model//針對繁體,翻譯會有一點不一樣translug('怎麼理解 laravel 關聯模型');//how-to-understand-the-laravel-correlation-model

看他的實現

public static function slug($title, $separator = '-'){    $title = static::ascii($title);    // Convert all dashes/underscores into separator    $flip = $separator == '-' ? '_' : '-';    $title = preg_replace('!['.preg_quote($flip).']+!u', $separator, $title);    // Remove all characters that are not the separator, letters, numbers, or whitespace.    $title = preg_replace('![^'.preg_quote($separator).'\pL\pN\s]+!u', '', mb_strtolower($title));    // Replace all separator characters and whitespace by a single separator    $title = preg_replace('!['.preg_quote($separator).'\s]+!u', $separator, $title);    return trim($title, $separator);}

源碼地址:
https://github.com/laravel/fr...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.