Quick start
Quick overview of the library
Creating a new multibyte string is done by using the static method from.
use Opis\String\UnicodeString as wstring;
$str = wstring::from('ăĂâÂîÎşŞţŢ');
By default, it’s assumed that your string is encoded using UTF-8.
If your string is encoded using another encoding,
you can pass the name of the encoding as the second argument of the from method.
use Opis\String\UnicodeString as wstring;
$str = wstring::from($string, 'ISO-8859-1');
Once created, you can use the resulted object in the same manner in which you would use a regular string.
echo $str; //> ăĂâÂîÎşŞţŢ
echo 'foo ' . $str . ' bar'; //> foo ăĂâÂîÎşŞţŢ bar
echo $str[0]; //> ă
echo $str[4]; //> î
You can chain multiple methods to perform operations against a string.
use Opis\String\UnicodeString as wstring;
$str = wstring::from('ăĂâÂîÎşŞţŢ');
echo $str->substring(3, 4)
->toUpper(); //> ÂÎÎŞ
The UnicodeString instances are immutable and work
in a similar manner as C# or Java strings.
use Opis\String\UnicodeString as wstring;
$str = wstring::from('abcd');
echo $str->toUpper(); //> ABCD
echo $str; //> abcd
You can also create a multibyte string using a list of code points.
use Opis\String\UnicodeString as wstring;
$str = wstring::fromCodePoints([79, 112, 105, 115]);
echo $str; //> Opis
Some methods may accept a parameter for string case conversion.
The following modes are constants in the Opis\String\UnicodeString class.
KEEP_CASE- do not convertLOWER_CASE- convert to lower caseUPPER_CASE- convert to upper caseASCII_CONV- convert to asciiFOLD_CASE- used for comparison
Example
use Opis\String\UnicodeString as wstring;
$str = wstring::from('Abc Def', null, wstring::UPPER_CASE);
echo $str; //> ABC DEF