bingogg14 / slugify
将字符串转换为缩略词。由 simov/slugify 端口移植
Requires
- php: ^7.1 || ~8.0.0 || ~8.1.0 || ~8.2.0
- ext-json: *
- ext-mbstring: *
Requires (Dev)
- laravel/framework: ^5.0|^6.0|^7.0|^8.0
- mikey179/vfsstream: ~1.6.8
- mockery/mockery: ^1.3
This package is auto-updated.
Last update: 2024-09-12 06:17:50 UTC
README
将字符串转换为缩略词。由 simon/slugify 端口移植
由 Pavlo Harashchenko 在欧洲塔林开发,得到 cocur/slugify 和 simov/slugify 的帮助。
特性
- 将 simov/slugify 包移植到 PHP
- 提供自定义替换。
- 无外部依赖。
- PSR-4 兼容。
- 兼容 PHP >= 7。
- 为 Laravel 提供集成。
安装
您可以通过 Composer 安装 Slugify
composer require bingogg14/slugify
Slugify 需要 PHP 的 Multibyte String 扩展。通常您可以在编译 PHP 时使用配置选项 --enable-mbstring
。更多信息可以在 PHP 文档 中找到。
对于 集成 可能需要进一步步骤。
使用
生成缩略词
use Bingogg\Slugify\Slugify; $slugify = new Slugify(); echo $slugify->slugify("Hello World!"); // hello-world
您也可以更改 Slugify
使用的分隔符
echo $slugify->slugify("Hello World!", "_"); // hello_world
库还包含 Bingogg\Slugify\SlugifyInterface
。当您需要为 Slugify
实例提供类型提示时,请使用此接口。
贡献
如果您在转写中发现错误或错误,我们非常感谢您的报告,尤其是如果您是该语言的母语者。您可以在 issues 中提出更多语言的需求,但请注意,该存储库的维护者不会说所有语言。如果您能提供包含新语言规则或扩展现有语言规则的 Pull Request,那将是令人惊叹的。
提交 PR。非常感谢。 🇺🇦
行为准则
为了促进一个开放和欢迎的环境,我们作为贡献者和维护者承诺,无论年龄、体型、残疾、种族、性别认同和表达、经验水平、国籍、个人外貌、种族、宗教或性取向和取向如何,都让每个人在我们的项目和社区中的参与成为一种无骚扰的经历。
完整的行为准则可以在 这里 找到。
这个项目不是仇恨的地方。如果您有任何问题,请联系 Pavlo: bingogg14@gmail.com 🇺🇦
集成
Laravel
Slugify 还提供了一种服务提供商,可以集成到 Laravel(版本 4.1 及以上)。
在您的 Laravel 项目的 app/config/app.php
文件中,将服务提供商添加到 "providers" 数组中
'providers' => array( "Bingogg\Slugify\Bridge\Laravel\SlugifyServiceProvider", )
并将外观添加到 "aliases" 数组中
'aliases' => array( "Slugify" => "Bingogg\Slugify\Bridge\Laravel\SlugifyFacade", )
然后您可以在您的控制器中使用 Slugify::slugify()
方法
$url = Slugify::slugify("welcome to the homepage");
之后,您可以检索 Bingogg\Slugify\Slugify
服务(或 slugify
别名)并生成缩略词。
变更日志
版本 1.4.5 (2023 年 4 月 11 日)
- 公开测试版端口
作者
许可证
MIT 许可证 (MIT)
版权所有 (c) 2023 Pavlo Harashchenko
本软件及其相关文档文件(以下简称“软件”)的副本的任何个人均可免费获得此许可,不受限制地处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许软件提供者进行此类操作,但需遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何形式(明示或暗示)的保证,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任承担责任,无论此类责任是基于合同、侵权或其他原因,以及与软件或其使用或操作相关的任何事件。