PHP的低级字符串字符分析库。

v0.1.1 2021-02-16 06:26 UTC

This package is auto-updated.

Last update: 2024-09-06 06:30:55 UTC


README


PHP Runes

Latest Stable Version Latest Unstable Version PHP from Packagist composer.lock available license

CI Workflow Maintenance Packagist

Runes

PHP的低级字符串字符分析库。

有关PHP尚未处理的Unicode字符的有用信息,请参阅compart unicode文档

功能

  • 逐字符(多字节感知)分析;
  • 脚本检测,区分相似字符(见IDN homograph attack);
  • 字符编码检测与转换;
  • 各种序列化格式;

设置

关于如何在您的项目中设置此存储库以供使用,或作为对此存储库进行贡献的开发者,提供说明。

需求

此库没有太多需求。它们都与主机机器相关。

安装

使用composer和您的自动加载器。

composer require jordanbrauer/runes

对于贡献者

克隆存储库并安装开发工具,以开始运行您的功能测试和错误修复测试。

git clone https://github.com/jordanbrauer/runes.git \
  && cd ./runes \
  && composer install;

用法

使用此库非常简单。以下是一个快速示例,让我们分析古怪而奇怪熟悉古北欧鲁尼文中的字符

use Rune\Rune;

$rune = new Rune('');

dump($rune->toJson());

将输出有关该符号的以下数据。

{
  "bidirectionalClass": "L",
  "binary": "111000011001101110010010",
  "blockCode": 35,
  "bytes": 1,
  "category": "Lo",
  "codepoint": "U+16D2",
  "combiningClass": 0,
  "decimal": 14785426,
  "encoding": "UTF-8",
  "glyph": "",
  "hex": "e19b92",
  "isMirrored": false,
  "name": "RUNIC LETTER BERKANAN BEORC BJARKAN B",
  "script": "Runic",
  "utf16": "0x16D2",
  "utf32": "0x000016D2",
  "utf8": "0xE1 0x9B 0x92",
  "version": "3.0.0.0"
}

动机

Unicode很棒。然而,它可能是程序员的痛苦之源。这个工具旨在通过提供一个低级/通用API来帮助减轻这种痛苦,允许您专注于问题,而不被UTF-8及其亲戚所困扰。

项目名称

最初,这个项目的名字是UTFH8;一个关于UTF-8编码算法和(非常强烈的)英文单词"hate"的讽刺性文字游戏,用数字8代替字母"a-t-e",暗示每个开发者在其职业生涯的某个时刻都会说 - "我恨Unicode"

现在,该项目已被重命名为Runes,灵感来自Go的rune类型和古北欧鲁尼文——听起来不那么严厉和阴险。