javascript — номера используются в обратном порядке при использовании арабского языка

Я использую локализацию Laravel

Вот код, который я использую

<p class="retail-price">@lang('frontend/watch-detail.Reference.retail')
<span class="prices">
@if($watch['price'] == 0 || $watch['price'] == NULL) N/A

@else
@php
$text =number_format($watch['price'], 0, ',', ' ');
@endphp
{{$text}}
@endif
</span>
</p>

Вот что я получаю по-арабски =>Изображение, которое я получаю

Пока я должен получить 30 700!

Я не хочу использовать обратную функцию

0

Решение

Эта проблема возникает из-за того, что арабский читается справа налево. Было бы проще добавить if заявление, чтобы проверить, если это является Арабский, затем переверните его, чтобы перевернутая арабская письменность вернулась к необратимому.

1

Другие решения

Вы можете обернуть текст в БДО элемент и определите это как слева направо:

function changeDir() {
var el = document.getElementById('bdo0');
el.dir = el.dir == 'ltr'? 'rtl':'ltr';
document.getElementById('theDir').textContent = el.dir;
}
<div dir="rtl">هذا رقم: <bdo id="bdo0" dir="ltr">123 456 789</bdo></div>
<button onclick="changeDir()">Change direction</button><span id="theDir"></span>

Вам не нужно никакого внутристраничного скрипта, это должен быть просто HTML.

1

По вопросам рекламы [email protected]