私のウェブサイトには、「Welcome username .」と表示されるヘッダーがあります。
<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 文字が含まれていると、再び壊れます。したがって、RLOの文字をPDFの文字と一致させる必要がありますが、これを行う方法がわかりません。そして、W3C 仕様によると、これに対する解決策はありません。ここで何か不足していますか?