bingogg14/slugify

将字符串转换为缩略词。由 simov/slugify 端口移植

v1.4.5-beta 2023-04-11 18:03 UTC

This package is auto-updated.

Last update: 2024-09-12 06:17:50 UTC


README

将字符串转换为缩略词。由 simon/slugify 端口移植

由 Pavlo Harashchenko 在欧洲塔林开发,得到 cocur/slugifysimov/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

本软件及其相关文档文件(以下简称“软件”)的副本的任何个人均可免费获得此许可,不受限制地处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许软件提供者进行此类操作,但需遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,不提供任何形式(明示或暗示)的保证,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任承担责任,无论此类责任是基于合同、侵权或其他原因,以及与软件或其使用或操作相关的任何事件。