Yii框架是否包含一个可以在URL或文件名中使用字符串的函数?
例如:Health+%26+Safety+franchises
= health-safety-franchises
类似于:https://docs.djangoproject.com/en/dev/ref/templates/builtins/#slugify
答案 0 :(得分:3)
slugify转换为小写,删除非单词字符(字母数字和下划线)并将空格转换为连字符。还剥离前导和尾随空格。
以下是PHP中执行相同任务的函数。
$slug = preg_replace('@[\s!:;_\?=\\\+\*/%&#]+@', '-', $str);
//this will replace all non alphanumeric char with '-'
$slug = mb_strtolower($slug);
//convert string to lowercase
$slug = trim($slug, '-');
//trim whitespaces
您需要在某个控制器中定义一个函数,以便在Yii中使用它
答案 1 :(得分:1)
目前还不完全清楚你想要达到的目标。 如果您想使用包含浏览器不支持的字符的字符串,那么您应该查看可以为您执行此操作的php函数。
也许 http://php.net/manual/en/function.urlencode.php (还有更多,取决于你需要的东西)
如果您想使用自己的自定义编码,请指定您尝试实现的目标,并且我可以提供帮助。
答案 2 :(得分:0)
您可以为此模型添加行为 - this plugin将为您完成艰苦的工作。
答案 3 :(得分:-1)