Yii - 使字符串或文件名中的字符串可用

时间:2012-02-08 18:20:28

标签: php url yii slug

Yii框架是否包含一个可以在URL或文件名中使用字符串的函数?

例如:Health+%26+Safety+franchises = health-safety-franchises

类似于:https://docs.djangoproject.com/en/dev/ref/templates/builtins/#slugify

4 个答案:

答案 0 :(得分:3)

Django中的

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)