هل توجد دالة php لتحويل العربي للاثيني؟

ابحث عن كود دالة لتحويل النص العربي للاتيني من اجل استخدامها لانشاء slug لروابط مقالات، صادفتها من قبل لكن لم اصل إليها الان.

مثلا اريد ان يتم تحويل : كلام عربي إلى kalam arabi

شكرا لكم

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

هناك إضافة توفر ذلك منها mbstring وIntl لكن يجب تفعيلهم في PHP لكي تتمكن من استخدامهم.

واستخدام دالة transliterate من mbstring كالتالي:

<?php
mb_internal_encoding('UTF-8');

echo transliterate('كلام عربي', 'ar-latin');
?>

أو دالة transliterate  من Intl كالتالي:

$text = 'كلام عربي';
$transliterated_text = transliterate($text, 'Any-Latin; Latin-ASCII; [^a-zA-Z]* remove');
echo $transliterated_text; // Output: kalam arabi

أو استخدام مكتبة خارجية مثل ar-php

او الإعتماد على دالة برمجية مُخصصة تؤدي تلك الوظيفة كالتالي:

function arabic_to_latin($text) {
    $mapping = array(
        'أ' => 'a', 'إ' => 'i', 'ئ' => 'e', 'ء' => '', 'ؤ' => 'o', 'و' => 'u',
        'ه' => 'h', 'ن' => 'n', 'م' => 'm', 'ل' => 'l', 'ك' => 'k', 'ق' => 'q',
        'ف' => 'f', 'غ' => 'g', 'ع' => 'a', 'ظ' => 'z', 'ط' => 't', 'ض' => 'd',
        'ص' => 's', 'ش' => 'sh', 'س' => 's', 'ز' => 'z', 'ر' => 'r', 'ذ' => 'dh',
        'د' => 'd', 'خ' => 'kh', 'ح' => 'h', 'ج' => 'j', 'ث' => 'th', 'ت' => 't',
        'ب' => 'b', 'ا' => 'a', 'ى' => 'a', 'ي' => 'y',
    );
    $text = strtr($text, $mapping);
    return $text;
}


$text = 'كلام عربي';
$latin_text = arabic_to_latin($text);
echo $latin_text;