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

发布于 2025-01-03 13:07:56 字数 317 浏览 1 评论 0原文

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

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

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

Does the Yii framework contain a function that can make a string usable in a URL or filename ?

For example: Health+%26+Safety+franchises = health-safety-franchises

So something similar to: https://docs.djangoproject.com/en/dev/ref/templates/builtins/#slugify

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

挽清梦 2025-01-10 13:07:56

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 中使用它

slugify in Django Converts to lowercase, removes non-word characters (alphanumerics and underscores) and converts spaces to hyphens. Also strips leading and trailing whitespace.
Following are the functions in PHP to carry out same tasks.

$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

You need to define a function in some controller TO use it in Yii

你怎么敢 2025-01-10 13:07:56

目前尚不完全清楚您到底想要实现什么目标。
如果您想使用包含浏览器不支持的字符的字符串,那么您应该研究可以为您执行此操作的 php 函数。

也许
http://php.net/manual/en/function.urlencode.php
(还有更多,取决于您的需要)

如果您想使用自己的自定义编码,请指定您想要实现的目标,我可能会提供帮助。

It is still not completely clear what you are trying to achieve exactly.
If you want to use a string that contains characters that are not supported by the browser then you should look into php functions that can do this for you.

Perhaps
http://php.net/manual/en/function.urlencode.php
(there are more, depends what you need)

If you want to use your own custom encoding then specify what your trying to achieve and I might be able to help.

贵在坚持 2025-01-10 13:07:56

您可以向模型添加一个行为 - 这个插件将为您完成这项艰苦的工作。

You can add a behaviour to a model for that - this plugin will do the hard work for you.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文