我需要在字符串中嵌入用户输入;例如,"< User>发了一条消息"。
如果用户输入包含一个方向性覆盖字符(U + 202D或U + 202E),则会出现问题。如果"< User>"包含一个RLO字符,显示的字符串变为"< User>发送一条消息"。
我的问题是如何最好地处理这个问题。是否有合法用途的RLO和LRO,或者正在剥离它们似乎合理的选择?否则也许我可以用"从左到右嵌入"来包装用户输入。 (U + 202A)和"流行方向格式" (U + 202C),尽管这样做可能需要我确保用户输入不包含不平衡的PDF字符。
答案 0 :(得分:2)
RLO和LRO是否有合法用途,或者是否有合理的选择?
我将它们与指定为not suitable for use in markup的所有其他字符一起剥离。
合法性是一个有争议的观点,但真正的阿拉伯语/希伯来语/等键盘不能输入BiDi控制字符,因此您不太可能在非恶意用户输入中遇到它们。