פונקצית PHP להמרת unicode לתווים עבריים

מחבר:
בתאריך:

הייתי צריך לחלץ אותיות עבריות ממחרוזת מקודדת unicode כאשר חלק מהאותיות עבריות.

הפתרון שמצאתי ב-PHP היה להחליף כל אחד מהקודים של ה-unicode בתו העברי המקביל. 

<?php
/**
 * Replace unicode characters to utf8 for Hebrew
 */
function unicodeToUtf8Hebrew($str)
{
    $retStr = '';

    $repl = [
        'U05BE' => '־',
        'U05D0'  => 'א',
        'U05D1' => 'ב',
        'U05D2' => 'ג',
        'U05D3' => 'ד',
        'U05D4' => 'ה',
        'U05D5' => 'ו',
        'U05D6' => 'ז',
        'U05D7' => 'ח',
        'U05D8' => 'ט',
        'U05D9' => 'י',
        'U05DA' => 'ך',
        'U05DB' => 'כ',
        'U05DC' => 'ל',
        'U05DD' => 'ם',
        'U05DE' => 'מ',
        'U05DF' => 'ן',
        'U05E0' => 'נ',
        'U05E1' => 'ס',
        'U05E2' => 'ע',
        'U05E3' => 'ף',
        'U05E4' => 'פ',
        'U05E5' => 'ץ',
        'U05E6' => 'צ',
        'U05E7' => 'ק',
        'U05E8' => 'ר',
        'U05E9' => 'ש',
        'U05EA' => 'ת',
        'U05F0' => 'װ',
        'U05F1' => 'וי',
        'U05F2' => 'ײ',
        'U05F3' => '׳',
        'U05F4' => '״',
        ' ' => ' ',
    ];

    if (strpos($str, "u0") !== false) {
        $exploded = explode(" ", trim($str));
        foreach ($exploded as $eItem) {
            $explodedExploded = str_split($eItem, 5);
            foreach ($explodedExploded as $eeItem) {
                $char = strtoupper($eeItem);
                if (isset($repl[$char])) {
                    $retStr .= $repl[$char];
                } else {
                    $retStr .= $char;
                }
            }
            $retStr .= ' ';
        }
    } else {
        $retStr = $str;
    }

    return trim($retStr);
}

* ההנחה בפונקציה היא שכל מילה במחרוזת מורכבת מאותיות עבריות בלבד או מתווים שאינם עברית.

לכל מדריכי ה-PHP

 

אהבתם? לא אהבתם? דרגו!

0 הצבעות, ממוצע 0 מתוך 5 כוכבים

 

 

הוסף תגובה חדשה

 

= 3 + 7