bubbaops/boggarts

识别恶作剧的、不可见的和模糊的 Unicode 空白字符(零宽空格、不间断空格等)。

v0.0.3 2023-03-27 22:35 UTC

README

要驱逐或摧毁一个幽灵,你必须嘲笑它。
~ 哈利·波特与阿兹卡班的囚徒

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

这究竟是什么?

Bare Bones Software 的著名 BBEdit HTML 和文本编辑器自从 1992 年 4 月 12 日首次公开发布以来就有一个“Zap Gremlins”功能!Sublime Text 之后也推出了它自己的 Gremlins 插件,今天你还可以找到一个 VSCode Gremlins 插件。

这些插件可以帮助识别不可见和模糊的 Unicode 空白字符 (零宽空格、不间断空格等。),并且从 20 世纪 90 年代初就被称为小鬼。

如果你进行过任何数量的文本处理,你无疑遇到过这些讨厌的家伙,并且可能玩过这样的游戏:将文本复制到一个可以显示它们的编辑器中,它们继续试图隐藏,最终你删除了有问题的内容,然后再将结果复制回源材料以再次运行。

如果你足够聪明,你很可能已经尝试过各种迭代,试图简单地转换你的整个字符串到 ISO-8859,也许创建了一个删除它们的函数,每次遇到一个就添加一个新函数,或者类似的操作。

我们已经受够了,决定是时候为这个问题提供一个一流的解决方案了。我们还决定采用一个替代名称。新的名称与幽灵的概念相当同义,但它有一个更丰富的历史,坦白说,我就是更喜欢它。那部电影让我小时候做噩梦,我现在不想有任何关系。

功能

  • 为你的幽灵提供细粒度控制。
  • Laravel 集成。
  • 易于使用。
  • 可以删除文本中的所有配置的幽灵。
  • 可以选择用你选择的字符替换配置的幽灵。
  • 预先配置了非常棒的一组幽灵以开始使用。
  • 有一个很酷的名字,并参考了当前流行文化!
  • 为你解决了日益增长的安全问题。

安装

您可以通过 composer 安装此包。

composer require bubbaops/boggarts

Laravel 项目

您可以使用以下命令发布配置文件:

php artisan vendor:publish --tag="boggarts-config"

用法

$text = "    Just imagine this text full of me an nasty boggarts invisible to you!       ";
$text = \BubbaOps\Boggarts\Facades\Excise::clip($text);
// Results "Just imagine this text full of mean nasty boggarts invisible to you!" 
// All cleaned up and ready to go our for a fun night.

测试

composer test

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

贡献

有关详细信息,请参阅 CONTRIBUTING

安全漏洞

有关如何报告安全漏洞的详细信息,请参阅 我们的安全策略

鸣谢

许可证

MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件

❤️ 赞助我,也许吧

赞助我