yarri/utf8-cleaner

从给定文本中移除无效的UTF-8字符

v1.1 2020-02-21 16:26 UTC

This package is auto-updated.

Last update: 2024-09-12 19:54:12 UTC


README

Build Status

从给定文本中移除无效的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许可条款分发