Yii框架是否包含可以使字符串在URL或文件名中可用的函數?Yii - 創建可用於URL或文件名的字符串
例如:Health+%26+Safety+franchises
= health-safety-franchises
所以類似於:https://docs.djangoproject.com/en/dev/ref/templates/builtins/#slugify
Yii框架是否包含可以使字符串在URL或文件名中可用的函數?Yii - 創建可用於URL或文件名的字符串
例如:Health+%26+Safety+franchises
= health-safety-franchises
所以類似於:https://docs.djangoproject.com/en/dev/ref/templates/builtins/#slugify
Django中的slugify轉換爲小寫,刪除非單詞字符(字母數字和下劃線)並將空格轉換爲連字符。也剝去前導和尾隨空白。
以下是PHP中執行相同任務的功能。
$slug = preg_replace('@[\s!:;_\?=\\\+\*/%&#][email protected]', '-', $str);
//this will replace all non alphanumeric char with '-'
$slug = mb_strtolower($slug);
//convert string to lowercase
$slug = trim($slug, '-');
//trim whitespaces
你需要一些控制器來定義一個函數來使用它的Yii
它仍然沒有完全清楚你要實現的目標到底是什麼。 如果你想使用一個包含不受瀏覽器支持的字符的字符串,那麼你應該看看可以爲你做到這一點的PHP函數。
也許 http://php.net/manual/en/function.urlencode.php (有更多的,取決於你的需要)
如果你想使用自己的自定義編碼,然後指定你想實現什麼,我也許能提供幫助。
您可以將行爲添加到模型中 - this plugin將爲您完成艱苦的工作。
,看一下這個類轉換yii2
https://github.com/yiisoft/yii2/blob/master/framework/behaviors/SluggableBehavior.php
,看看它是如何使用這個庫http://www.yiiframework.com/doc-2.0/yii-helpers-inflector.html子彈法
歡迎您訪問解決方案的鏈接,但請確保您的答案在沒有它的情況下很有用:[添加鏈接的上下文](// meta.stackexchange.com/a/8259),以便您的同行用戶可以有一些想法它是什麼以及它爲什麼在那裏,然後在目標頁面不可用的情況下引用頁面中最相關的部分。 [僅僅是一個鏈接的答案可能會被刪除。](// stackoverflow.com/help/deleted-answers) – LW001 2017-10-23 19:46:56
我是Yii的新手,我有點失望它沒有「slugify」功能..而且文檔也很差... 反正,我已經寫我自己的小功能: '公共職能slugify($ STR) {$ 海峽=的preg_replace( '/ [^ A-ZA-Z0-9] /', '',$海峽); $ str = preg_replace('/ \ s + /','',$ str); $ str = str_replace('',' - ',trim($ str)); return mb_strtolower($ str); }' – Marian 2012-02-11 11:19:37