TextArea LTR/RTL

У меня есть простая текстовая область HTML, тело имеет стиль RTL, и поэтому текстовая область наследует стиль от тела. Итак, проблема в следующем.

Проблема: я должен отобразить следующий текст в текстовую область, используя $("#myTextArea"). Val("текст из результата ajax приходит сюда").

Текст следующий,

پاکستان کا کل رقبہ 796096-0-0 مربع کلو میٹرز ہے۔

а остальная часть текста похожа и занимает несколько строк. Теперь число в тексте на урду на самом деле 796096-0-0, но оно отображается в обратном порядке. Есть несколько таких чисел по всему тексту. Пожалуйста, скажите мне, как я мог бы отображать числа как LTR, а остальную часть текста как RTL, как обычно.

Благодарю.

3 ответа

Вы можете использовать RegEx для поиска номера. Если найдено, вы можете повернуть вспять, а затем заменить его.

Пример:

var textAreaValue = "پاکستان کا کل رقبہ 796096-0-0 مربع کلو میٹرز ہے۔";

// This regex string means to match a digit, dash, digit, dash, then 6 digits.
var matches = textAreaValue.match("[0-9]{6}\-[0-9]-[0-9]");

if(matches) { // Check that a match happened (multiple allowed)
    for(i = 0; i < matches.length; i++) {
        var reverseValue = matches[i].split("").reverse().join("");
        textAreaValue = textAreaValue.replace(matches[i], reverseValue);
    }
}

// textAreaValue is now پاکستان کا کل رقبہ 0-0-690697 مربع کلو میٹرز ہے۔
$("#myTextArea").val(textAreaValue);

Попробуйте дать текстовое поле букв. Не наследует. Май работает

// str = "پاکستان کا کل رقبہ 796096-0-0 مربع کلو میٹرز ہے۔";
str = str.replace(/([-0-9]+)/g, "\u202a$1\u202c");

Вам нужно будет поместить эту строку в контейнер, который имеет атрибут CSS direction установлен в rtlили вам придется добавить "\u202E" символ в начале, в противном случае разделы появились в обратном порядке (но в правильном направлении).

Это символы управления направлением Unicode:

  • U + 202A: вложение слева направо
  • U+202C: поп-направленное форматирование (в основном конец встраивания)
  • U + 202E: переопределение справа налево

Я использовал это в качестве ссылки: http://www.iamcal.com/understanding-bidirectional-text/

Другие вопросы по тегам