yarri / utf8-cleaner
从给定文本中移除无效的UTF-8字符
v1.1
2020-02-21 16:26 UTC
Requires
- php: >=5.3.0
Requires (Dev)
- atk14/tester: *
- atk14/translate: ^1.2
This package is auto-updated.
Last update: 2024-09-12 19:54:12 UTC
README
从给定文本中移除无效的UTF-8字节序列。
Utf8Cleaner受到https://stackoverflow.com/questions/1401317/remove-non-utf8-characters-from-string的启发
用法
假设你有一个包含非法UTF-8字节序列的字符串。
$invalid_char = chr(200).chr(200); // invalid byte sequence for UTF-8
$malformed_text = "Příliš žluťoučk$invalid_char kůň";
$text = \Yarri\Utf8Cleaner::Clean($malformed_text);
默认情况下,每个无效的字节序列都被替换为�(即一个黑钻石加上一个白色问号 - 替换字符,用于替换未知、未识别或无法表示的字符,U+FFFD)。
echo $text; // "Příliš žluťoučk� kůň"
可以通过选项覆盖默认替换。
$text = \Yarri\Utf8Cleaner::Clean($malformed_text,["replacement" => "?"]);
// or
$text = \Yarri\Utf8Cleaner::Clean($malformed_text,"?");
echo $text; // "Příliš žluťoučk? kůň"
安装
安装Utf8Cleaner的最佳方式是使用Composer
composer require yarri/utf8-cleaner
测试
composer update --dev
./vendor/bin/run_unit_tests test/
许可
Utf8Cleaner是免费软件,根据MIT许可条款分发