📅  最后修改于: 2023-12-03 15:02:37.934000             🧑  作者: Mango
Slug 是指 URL 中用于描述页面内容的部分,通常是一些单词或短语的组合,用连字符(-)连接。比如,这个页面的 Slug 是 laravel-生成-slug-php
。
生成 Slug 可以帮助 SEO(搜索引擎优化),使得页面 URL 更加友好、可读性更高。
Laravel 提供了一个非常方便的助手函数 Str::slug()
,可以根据给定字符串生成对应的 Slug。下面是一个示例代码片段:
use Illuminate\Support\Str;
// 生成 Slug
$slug = Str::slug('Laravel 生成 Slug - PHP');
// 输出:laravel-生成-slug-php
echo $slug;
在上面的代码中,我们首先导入了 Str
类,然后使用 Str::slug()
方法生成了 Laravel 生成 Slug - PHP
对应的 Slug。最后,我们通过 echo
命令输出了生成的 Slug。
Str::slug()
方法有两个参数:
默认的情况下,Str::slug()
方法会将中文字符转换成 ASCII 码对应的字符。但是,在一些场景下,我们可能需要保留中文字符。
这时,可以使用 laravel-china/ivy 项目提供的 Pinyin::slug()
方法。
首先,需要在项目中安装 laravel-china/ivy 包:
composer require laravel-china/ivy
然后,就可以使用 Pinyin::slug()
方法生成中文 Slug 了。下面是一个示例代码片段:
use Overtrue\Pinyin\Pinyin;
// 配置 Pinyin
$pinyin = new Pinyin();
$pinyin->set('delimiter', '-');
// 生成 Slug
$slug = $pinyin->slug('Laravel 指南');
// 输出:laravel-zhi-nan
echo $slug;
在上面的代码中,我们首先导入了 Pinyin
类,然后配置了使用连字符作为分隔符。
最后,我们使用 Pinyin::slug()
方法生成了 Laravel 指南
对应的 Slug,并通过 echo
输出了结果。
Slug 是一个非常有用的功能,可以让页面 URL 变得更加友好、可读性更高。在 Laravel 中,通过 Str::slug()
方法可以很方便地生成 Slug。
如果需要处理中文字符,可以使用 laravel-china/ivy 项目提供的 Pinyin::slug()
方法。