Как мне preg_match для слов на иврите - PullRequest
3 голосов
/ 16 декабря 2009

Мне нужна функция, которая сопоставляет полные слова на иврите в php.

Пожалуйста, помогите.

Ответы [ 3 ]

6 голосов
/ 16 декабря 2009

Попробуйте это регулярное выражение, описывающее Свойства символов Unicode :

/\p{Hebrew}+/u
5 голосов
/ 16 декабря 2009

При условии, что ваши исходные данные имеют кодировку UTF-8

<code>$input = "ט״סת תעסתינג O״ת סOמע העברעו תעחת";

preg_match_all( "/[\\x{0590}-\\x{05FF}]+/u", $input, $matches );

echo '<pre>';
print_r( $matches );
echo '
';

Урожайность

Array
(
    [0] => Array
        (
            [0] => ט״סת
            [1] => תעסתינג
            [2] => ״ת
            [3] => ס
            [4] => מע
            [5] => העברעו
            [6] => תעחת
        )

)

Я основал диапазон от 0590 до 05FF на этой диаграмме Юникода (редактировать: здесь найдена более хорошая информация о иврите / юникоде здесь ). Я использовал this для генерации моего образца ввода. Поскольку я не знаю иврита, я не могу на самом деле проверить, что сопоставленный вывод действителен.

Возможно, вам придется настроить его, но, надеюсь, это направит вас в правильном направлении.

2 голосов
/ 16 декабря 2009

Спасибо за все ваши ответы,

У меня работает preg_match ("/ ^ \ p {Иврит} + $ / u", "שלום");

...