مرحبا اخوان
انا ارغب بتحويل الارقام داخل نص معين من اللغة الانجليزية الى اللغة العربية قمت بسؤال هذا السؤال سابقاً وقام بعض الاخوان بالرد وكل جزيل الشكر لهم ولكن لم يجدي نفعاً... هل من طريقة فعالة لحل هذه المعضلة؟
اذا ظهر لديك مشكل يمكنك وضع صورة له حتى أفهم اين المشكل بالضبط و هذا مثال اخر للحل باستخدام طريقة التشفير Unicode
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> .arabic-digits { unicode-bidi: plaintext; font-feature-settings: 'calt' 0; font-variant-numeric: normal; display: inline-block; text-align: left; } </style> <script> document.addEventListener('DOMContentLoaded', function () { var elements = document.querySelectorAll('.arabic-digits'); elements.forEach(function (element) { element.textContent = element.textContent.replace(/[0-9]/g, function (match) { var indicDigits = ['\u0660', '\u0661', '\u0662', '\u0663', '\u0664', '\u0665', '\u0666', '\u0667', '\u0668', '\u0669']; return indicDigits[parseInt(match)]; }); }); }); </script> </head> <body> <p class="arabic-digits">هذا مثال: 1234567890</p> </body> </html>
جربت هذه الطريقة و اشتغلت معي بدون مشاكل.
من الأفضل وضع النص أو الملف الذي تريد تحويل النص به لتجربة الكود وتفقد المشكلة به، لكن علي أي حال:
ستحتاج إلى استخدام جافاسكريبت للقيام بالأمر كالتالي:
<h1 id="output"></h1> <script> function toArabic(text) { const arabicDigits = ['٠', '١', '٢', '٣', '٤', '٥', '٦', '٧', '٨', '٩']; return text.replace(/[0-9]/g, function(w) { return arabicDigits[+w]; }); } const text = "ذلك نص وبه ارقام 1234 لتحويل للعربية"; const arabicText = toArabic(text); document.getElementById("output").innerText = arabicText; </script>
التعليقات