PHP 8.1.0 Beta 1 available for testing

Transliterator::create

transliterator_create

(PHP 5 >= 5.4.0, PHP 7, PHP 8, PECL intl >= 2.0.0)

Transliterator::create -- transliterator_createCreate a transliterator

Description

Object oriented style

public static Transliterator::create(string $id, int $direction = ?): Transliterator

Procedural style

transliterator_create(string $id, int $direction = ?): Transliterator

Opens a Transliterator by ID.

Warning

This function is currently not documented; only its argument list is available.

Parameters

id

The ID. A list of all registered transliterator IDs can be retrieved by using Transliterator::listIDs().

direction

The direction, defaults to Transliterator::FORWARD. May also be set to Transliterator::REVERSE.

Return Values

Returns a Transliterator object on success, or null on failure.

See Also

add a note add a note

User Contributed Notes 3 notes

up
1
Baran Sakallolu
1 year ago
A good example of create for non latin languages is Turkish.

There both upper case I character and lowercase ı character which makes other strtolower kind of functions useless.

$text = "Iğdır";

echo Transliterator::create("tr-Lower")->transliterate($text);

will return the correct result ığdır, not iğdır .
up
0
Jan Kucha
11 months ago
If you want to go deeper into what is going on, read the ICU projects docs: http://userguide.icu-project.org/transforms/general

This API call is basically just wrapper around ICU Transliteration.
up
-1
Harry..de
8 months ago
// Translit each and every char to ASCII

$string = 'Москва́';
$string = Transliterator::create('Any-Latin; Latin-ASCII')->transliterate($string);

print $string;

// the result is "Moskva"
To Top