我正在为项目使用双向文本(混合英语和希伯来语)。文本以HTML格式显示,因此有时需要使用LTR或RTL标记(‎
或‏
)才能使“弱字符”正确显示为标点符号。由于技术限制,这些标记在源文本中不存在,所以我们需要添加它们以使最终显示的文本显示正确。自动插入LTR标记
例如,以下文本:(example: מדגם) sample
呈现为从右到左模式的sample (מדגם :example)
。正确的字符串看起来像‎(example:‎ מדגם) sample
,并将呈现为sample (מדגם (example:
。
我们希望快速插入这些标记,而不是重新编写所有文本。起初,这似乎很简单:只需将‎
附加到标点符号的每个实例。但是,一些需要动态修改的文本包含HTML和CSS。造成这种情况的原因是不幸的,也是不可避免的。
解析HTML/CSS的不足之处,是否有一种已知算法用于即时插入Unicode定向标记(伪强字符)?
一让这变得更加困难的事情是破坏了HTML,但一个宽容的解析器可以帮助解决这个问题。对于这个应用程序,我们实际上使用HTML片段,因此解析是粗略的。真正的解决方案是在流程的早期推动变革。 – 2011-03-11 15:49:15