javascript - 从右到左的语言和编程问题

标签 javascript arabic right-to-left

我正在创建一个网络文本编辑器,它使用我创建的新语言(如 BBcode)。该标记语言将采用阿拉伯语,但我面临这些问题:

  • 在所有 IDE 和编辑器中将英语和阿拉伯语文本混合在同一行中确实很困难,因为会发生奇怪的事情(单词和字符的顺序发生变化)
  • 使用模式用 javascript 替换文本时,阿拉伯文本不会出现 (例如: "1 text arabic here 1".replace(/1(*)1/,"($1)") 我得到空 () )

我该如何解决这个问题?

最佳答案

也许您可以使用一些不太可能的分隔符来指定数据缓冲区中编码切换的点。这将使您的解析函数识别必须以不同方式处理的文件 block 。

我不知道您的阿拉伯文本是否使用 UTF-8 字符。希望能够以 UTF-8 格式呈现英语和阿拉伯语中所有必需的字符。然后,您可以使用分隔符告诉其他代码如何处理行为不同的文本片段。

>some english/L-T-R markup  
Ⓐ**...markup R-T-L Some**كل الخارجي للنص أو شكل توضع الفقرات في الصفحة التي يقرأها. ولذلك يتم استخدام طريقة لوريم إيبسوم لأنها تعطي توزيعاَ طبيعياَ -إلى حد ما- للأحرف عوضاً عن استخدام "هنا يوجد محتوى نصي، هنا يوجد محتوى نصي" فتجعلها تبدو (أي الأحرف) وكأنها نص مقروء. العديد من برامح النشر المكتبي وبرامح تحرير صفحات الويب تستخدم لوريم إيبسوم بشكل إفتراضي كنموذج عن اⒶ  

不知道正则表达式,希望 github 上已经有处理混合阿拉伯语和英语正则表达式的库:)

编辑:Stack Overflow 的 markdown 第一次吃了一些东西(天知道它对我粘贴的阿拉伯语 lorem ipsum 做了什么)

编辑:这是查找阿拉伯语标签的开始

var src = "try to write javascript that replaces <رابط>نص تجريبي</رابط> by <a href='#'>نص تجريبي</a> and you wil notice all the difficulties – user2080105 15 mins ago"
var a = src.match(/try/);
console.log(a);
var b = src.match(/<[^>]*>/);
console.log(b);
var c = src.match(/<\/?[^>]*>/g);
console.log(c);

//Output in node v0.9.4-pre

[ 'try',
  index: 0,
  input: 'try to write javascript that replaces <رابط>نص تجريبي</رابط> by <a href=\'#\'>نص تجريبي</a> and you wil notice all the difficulties – user2080105 15 mins ago' ]
[ '<رابط>',
  index: 38,
  input: 'try to write javascript that replaces <رابط>نص تجريبي</رابط> by <a href=\'#\'>نص تجريبي</a> and you wil notice all the difficulties – user2080105 15 mins ago' ]
[ '<رابط>', '</رابط>', '<a href=\'#\'>', '</a>' ]

关于javascript - 从右到左的语言和编程问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15207486/

相关文章:

javascript - 为什么我的 $.ajax 显示 "preflight is invalid redirect error"?

javascript - jQuery 将 div 粘在滚动条上

Perl uri_escape_utf8 与阿拉伯语

html - 如何将 html 模板转换为从右到左 (RTL) 格式

javascript - 自定义的 Three.js 几何体不会显示它的脸

javascript - 如何在 TypeScript 中使用包含的 Axios 类型定义进行依赖注入(inject)

java - 使用jspf时编码的问题

android - 如何在Android中正确显示阿拉伯字母?

javascript - highcharts dataLabels 支持 RTL 并启用悬停以显示工具提示

android - 如何在 flexbox-layout 中改变项目的方向