如何嵌入任意 unicode 而不会弄乱该行的其余部分?

How do I embed arbitrary unicode without messing up the rest of the line?

所以我们有 header|sequence|string1|string2|directive,其中 string1 和 string2 是任意的 Unicode 垃圾。假设输入可能真的是无用的 Unicode(我希望它包含诸如从右到左的文本、不平衡的 Unicode 方向控制字符等内容)但实际上并不是恶意的,我如何才能让这些字符串按顺序显示?

最终网站目标是 HTML,但我们认为最好尽可能处理字符串。在每个 | 之前盲目地干扰 force-LTR 是远远不能接受的,因为这往往会在 | 之后进入文本并导致 RTL 呈现为 LTR。

第一步:将控制代码替换为control pictures

第二步:修复 RTL 废话 ??

我不得不承认我原以为 RTL stack 会比原来更简单。我不能简单地 运行 算法,因为无法知道私人使用字符的 RTL-LTR-ness。

我们最终采用了这种笨拙的方法。有用。 (请注意,在生产代码中,这些内联样式会变成 class 引用。)

<PRE><DIV DIR=LTR STYLE="display:inline-block;">|</DIV><DIV STYLE="display:inline-block;">something1</DIV><DIV DIR=LTR STYLE="display:inline-block;">|</DIV><DIV STYLE="display:inline-block;">something2</DIV><DIV DIR=LTR STYLE="display:inline-block;">|</DIV></PRE>