tomwilford / php-utf8-to-rtf
A simple package to convert UTF8 characters to RTF
Requires
- php: ^7.4 || ^8.0
- ext-mbstring: *
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3
- phpstan/phpstan: ^2
- phpunit/phpunit: ^9.6 || ^13
- squizlabs/php_codesniffer: *
This package is auto-updated.
Last update: 2026-07-05 09:41:48 UTC
README
Description
A simple PHP class for converting UTF8 characters to an RTF safe version in a string.
Installation
composer require tomwilford/php-utf8-to-rtf
Usage
Requires PHP 7.4 or higher
Instantiate the converter using:
$converter = new CharacterConverter();
To find and replace UTF8 characters with RTF safe versions in a long string use:
$convertedString = $converter->findAndReplace($string);
Or, for shorter strings and characters, simply convert the whole string:
$convertedString = $converter->convertStringToRtf($string);
You can also convert an array of UTF8 strings:
$convertedArray = $converter->convertArrayToRtf($arrayOfStrings);
Finally, if you need to do any additional processing on the UTF8 characters before converting, you can extract them as an array using:
$arrayToConvert = $converter->locateCharactersInString($string);
Testing
PHPUnit tests have been written using series of pangrams sourced online to try to best capture as many characters as possible in different languages being used in a natural way. Please see the Pangrams trait for the pangram sources' credits.
There also is a short script that can generate a test RTF file that can be opened in a word processor to verify the results.
Contributing
Contributions are welcome, please see CONTRIBUTING for more information.
Software License
Copyright (c) 2022. Tom Wilford hello@jollyblueman.com All rights reserved.
This source code is licensed under the BSD-style license found in the LICENSE file in the root directory of this source tree.