featherbb / php-utf-8
这是一个为PHP提供UTF-8感知功能的库,可以镜像PHP自带的字符串函数。该库不依赖PHP的mbstring扩展,尽管如此,如果找到它,将会使用它来提高性能。
Requires
- php: >=5.4.0
- lib-pcre: *
Requires (Dev)
- phpunit/phpunit: 4.8.*
- symfony/yaml: ~2.1
Suggests
- ext-mbstring: Use Mbstring for best performance
This package is not auto-updated.
Last update: 2024-09-23 16:06:31 UTC
README
PHP-UTF-8
这是FSX/php-utf8库的分支。由于原始库的作者不再支持它,因此创建了此分支。
php-utf8是一个感知UTF-8的函数库,它镜像了PHP自带的字符串函数。尽管如此,它不要求PHP mbstring扩展,如果找到它,将会使用它来获得(小的)性能提升。
该项目最初在sourceforge上,由于缺乏开发和支持而停止。该项目已经被分支并迁移到github.com,以便更多的人可以更容易地贡献。
请使用这里的问题跟踪器来发布有关问题和功能请求。
请随时分支并就优化和新功能与我们联系。
文档和用法信息
使用php-utf-8库非常简单。只需包含php-utf8.php
以及您可能需要的来自functions
文件夹的任何附加函数。
示例代码
// get the core functions included ... require('php-utf8_path/php-utf8.php'); // ... and any other functions/*.php or utils/*.php files you may need. require('php-utf8_path/functions/trim.php');
在阅读字符集 / 字符编码问题和用PHP处理UTF-8之后,请确保您自信地使用该库。
仅当您真的需要并且理解您需要使用它们的原因时,才使用这些函数。
特别是,不要盲目地替换所有使用PHP字符串函数的地方。大多数情况下,您不需要这样做,并且您将为您的应用程序引入重大的性能开销。
这里的大多数函数都不是在防御性地操作,主要是出于性能原因。例如,没有广泛的参数检查,并且假设它们被良好的UTF-8提供。这在捕捉不良的UTF-8时尤其相关。您应该使用utils/validation.php
和utils/bad.php
文件中的函数在外围筛选输入。
在整个库中,所有ASCII字符(包括控制字符)都被视为有效。在输出到XML之前,请确保您采取了适当的措施,因为某些控制字符可能会使其无效。 更多信息
许可
php-utf-8的初始代码在LGPL下发布。请从LICENSE文件中找到许可证副本。
该库中的部分代码来自其他地方,在不同许可证下发布。已联系涉及的作者(见下文)。有关哪些代码来自其他地方的归属,可以在源代码本身中找到。
- Andreas Gohr / Chris Smith of Dokuwiki。 尽管Dokuwiki是在GPL下发布的,但其UTF-8库是在LGPL下发布的,因此与phputf8没有冲突
- Henri Sivonen (网站) 也授权了他的代码可以在LGPL的条款下发布。他将Mozilla代码库中的Unicode / UTF-8转换器移植到PHP中,该转换器在php-utf-8中被重复使用。