Алгоритм биди: правильное отображение HTML-тегов и арабского текста.

У меня есть следующий текст:

<a> النص $var </a>

Когда этот текст отображается в текстовой области с направлением RTL, он выглядит так (скриншот):

введите здесь описание изображения

Я пытаюсь использовать управляющие символы Unicode (LRM, RLM, LRI, RLI, PDF), чтобы изменить направление частей этого текста.

Я пытался:

  1. \u200e<a>\u200f لنص \u200e $var </a>\u202c -(LRM<a>RLM لنص LRM$var </a>PDF)

Результат (скриншот):

введите здесь описание изображения

  1. \u2066<a>\u202c\u2067 النص \u202c\u2066 $var </a>\u202c - (LRI<a>PDF RLI النص PDF LRI $var </a>PDF)

Результат (скриншот):

введите здесь описание изображения

Как видно, не работает. как правильно использовать управляющие символы Unicode в этом случае?


person Meadow Lizard    schedule 12.12.2017    source источник
comment
Я не знаю, требуется ли сохранять направление текстовой области как RTL, вы можете сделать его LTR и добавить другой стиль: text-align:right. <textarea style='width:100%;direction:ltr;text-align:right'><a> النص $var </a></textarea>   -  person Ashraf    schedule 12.12.2017
comment
@Ashraf Это необходимо, потому что теги находятся внутри арабского текста, который должен быть в текстовой области RTL.   -  person Meadow Lizard    schedule 12.12.2017


Ответы (1)


Изоляты биди извлекаются с помощью PDI, а не PDF. Вот почему ваши попытки оказались ошибочными. Заключить всю строку в скобки с LRI (U+2066) и PDI (U+2069): \u2066<a> النص $var </a>\u2069

person CharlotteBuff    schedule 12.12.2017