Skip to content

Calculate width of unicode strings rendered to a terminal

License

Notifications You must be signed in to change notification settings

alecrabbit/php-wcwidth

Repository files navigation

🇺🇦 🇼 PHP Wide Character Width

PHP Version Build Status

Build Status Scrutinizer Code Quality Code Coverage

Latest Stable Version Latest Stable Version Latest Unstable Version

License Total Downloads

This is kinda port of python's jquast/wcwidth

🌐 Unicode release files

Installation

$ composer require alecrabbit/php-wcwidth

Quick start

use function AlecRabbit\WcWidth\wcwidth;
use function AlecRabbit\WcWidth\wcswidth;

echo wcwidth('a'); // 1
echo wcwidth('é'); // 1
echo wcwidth('🐘'); // 2
echo wcswidth('🐘🐘🐘'); // 6

echo wcwidth('🐘🐘🐘'); // 2 - only first char is considered

see doc/usage.md for more details.

FFI extension

Note ‼️ Experimental feature.

For improved performance, consider leveraging the Foreign Function Interface (FFI) extension, if available. To enable this feature, set the USE_FFI environment variable to true.

USE_FFI=true

Note When using ffi extension version value is ignored completely.