如何使用 PHP 在 Laravel 7 中将 PascalCase 字符串转换为可用的 slug?

Posted

技术标签:

【中文标题】如何使用 PHP 在 Laravel 7 中将 PascalCase 字符串转换为可用的 slug?【英文标题】:How can I convert PascalCase string to a usable slug in Laravel 7 with PHP? 【发布时间】:2020-06-17 22:32:32 【问题描述】:

我目前有一个值为"ExtraOption" 的变量。我想知道是否有可能(可能使用 Laravel 助手)将此字符串转换为可用的 slug。例如:"extra-option"

谁能帮助我提供一个干净的解决方案?

【问题讨论】:

【参考方案1】:

您可以使用Str::kebab() 方法将给定的字符串转换为kebab-case:

use Illuminate\Support\Str;

$converted = Str::kebab('ExtraOption');

// extra-option

Laravel 7 新增了 Fluent String Operations 功能,提供了各种有用的字符串操作函数。

kebab

kebab 方法将给定的字符串转换为 kebab-case:

use Illuminate\Support\Str;

$converted = Str::of('ExtraOption')->kebab();

// extra-option

【讨论】:

【参考方案2】:

尝试使用此代码:

use Illuminate\Support\Str;

...
Str::slug(implode(' ', preg_split('/(?=[A-Z])/', 'camelCaseToSlug')))
> camel-case-to-slug
...

希望对你有帮助

【讨论】:

为什么要投反对票?这个答案没有错,可以替代。

以上是关于如何使用 PHP 在 Laravel 7 中将 PascalCase 字符串转换为可用的 slug?的主要内容,如果未能解决你的问题,请参考以下文章

如何在php laravel中将数组键转换为随机字符串

在 Laravel 7 中将数据从控制器发送到视图

如何在laravel php中将变量从视图传递到控制器而没有表单

如何在 Laravel 中将公用文件夹设为 root?

如何在laravel中将集合变成数组

如何在 Laravel 5.7 中将多个数据库数据传递到 jQuery 的自动完成(AJAX)中