gh640 / sjis-stream-filter
Shift-JIS 编码的流过滤器。
1.0.0-beta1
2017-09-03 13:40 UTC
Requires
- php: >=5.3.0
Requires (Dev)
- phpunit/phpunit: ^5.7
This package is auto-updated.
Last update: 2024-08-29 04:20:05 UTC
README
提供2个简单的PHP流过滤器用于Shift-JIS编码。
此包中提供了2个过滤器。
gh640\SjisStreamFilter\Filter\SjisToUtf8Filter
gh640\SjisStreamFilter\Filter\Utf8ToSjisFilter
安装
您可以使用 composer
命令安装此包。
$ composer require gh640/sjis-stream-filter:1.0.0-alpha2
用法
以下流过滤器类可以直接通过 stream_filter_register()
使用。
gh640\SjisStreamFilter\Filter\SjisToUtf8Filter
gh640\SjisStreamFilter\Filter\Utf8ToSjisFilter
<?php // Register the sjis-to-utf8 filter. $filtername = 'sjis_to_utf8_filter'; stream_filter_register($filtername, '\gh640\SjisStreamFilter\Filter\SjisToUtf8Filter'); // Use the filter when reading a sjis-encoded file. $fp = fopen('a-file-encoded-with-sjis.txt', 'r'); stream_filter_append($fp, $filtername); while (!feof($fp)) { $line = fgets($fp); print $line; } fclose($fp); ?>
此外,还有一个管理类 SjisFilterManager
,它允许轻松使用过滤器。
<?php use gh640\SjisStreamFilter\Manager\SjisFilterManager; // Register the sjis-to-utf8 filter. $filter_manager = new SjisFilterManager(); $filtername = $filter_manager->register(SjisFilterManager::FILTER_SJIS_TO_UTF8); // Read a file encoded with sjis. $fp = fopen('a-file-encoded-with-sjis.txt', 'r'); stream_filter_append($fp, $filtername); while (!feof($fp)) { $line = fgets($fp); print $line; } fclose($fp); // Register the utf8-to-sjis filter. $filtername = $filter_manager->register(SjisFilterManager::FILTER_UTF8_TO_SJIS); // Write a file with sjis encoding using php://filter. $content = file_get_contents('utf8.txt'); file_put_contents("php://filter/${filtername}/resource=sjis.txt", $content); ?>
您可以通过将第二个参数传递给 SjisFilterManager::register()
来更改过滤器名称。
<?php public function register($type, $filtername = NULL); ?>
许可证
MIT许可证下授权。