(PHP 7, PHP 8)
IntlChar::charDirection — Renvoie la valeur de la catégorie bidirectionnelle pour un point de code
Renvoie la valeur de la catégorie bidirectionnelle pour un point de code, qui est utilisée dans l'» algorithme bidirectionnel Unicode (UAX #9).
Note:
Certain points de code non attribués ont des valeurs de bidirectionnel de R ou AL car ils sont dans des blocs réservés pour les scripts de droite à gauche.
codepoint
La valeur codepoint de type entier
(i.e. 0x2603
pour U+2603 SNOWMAN), ou le caractère encodé en UTF-8 de type chaîne de caractères
(i.e. "\u{2603}"
)
La valeur de la catégorie bidirectionnelle; une des constantes suivantes:
IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT
IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT
IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER
IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATOR
IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER_TERMINATOR
IntlChar::CHAR_DIRECTION_ARABIC_NUMBER
IntlChar::CHAR_DIRECTION_COMMON_NUMBER_SEPARATOR
IntlChar::CHAR_DIRECTION_BLOCK_SEPARATOR
IntlChar::CHAR_DIRECTION_SEGMENT_SEPARATOR
IntlChar::CHAR_DIRECTION_WHITE_SPACE_NEUTRAL
IntlChar::CHAR_DIRECTION_OTHER_NEUTRAL
IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_EMBEDDING
IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_OVERRIDE
IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_ARABIC
IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_EMBEDDING
IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_OVERRIDE
IntlChar::CHAR_DIRECTION_POP_DIRECTIONAL_FORMAT
IntlChar::CHAR_DIRECTION_DIR_NON_SPACING_MARK
IntlChar::CHAR_DIRECTION_BOUNDARY_NEUTRAL
IntlChar::CHAR_DIRECTION_FIRST_STRONG_ISOLATE
IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE
IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE
IntlChar::CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE
IntlChar::CHAR_DIRECTION_CHAR_DIRECTION_COUNT
null
en cas d'échec.
Exemple #1 Test de différents codepoint
<?php
var_dump(IntlChar::charDirection("A") === IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT);
var_dump(IntlChar::charDirection("\u{05E9}") === IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT);
var_dump(IntlChar::charDirection("+") === IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATOR);
var_dump(IntlChar::charDirection(".") === IntlChar::CHAR_DIRECTION_COMMON_NUMBER_SEPARATOR);
?>
L'exemple ci-dessus va afficher :
bool(true) bool(true) bool(true) bool(true)