在我的网站上有一个标题应该显示“欢迎用户名。”。
<span>Welcome <?php echo $username; ?>.</span>
问题是如果用户将他的名字更改为 U+202Eusername(其中 U+202E 是从右到左的覆盖字符,或 RLO),所有布局都会中断。
它不是显示“Welcome emanresu .”,而是显示“Welcome .emanresu ”或“ .emanresu Welcome”或类似的内容。我尝试在用户名后添加一个 U+202C(流行定向格式或 PDF)字符,它起作用了。像这样:
<span>Welcome <?php echo $username; ?>‬.</span>
但是,如果用户名有多个 RLO 字符,则会再次中断。所以我应该做的是将 RLOs 字符与 PDFs 字符匹配,但我不确定如何做到这一点。根据 W3C 规范,没有解决方案。我在这里错过了什么吗?