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/