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