我尝试在vBulletin论坛中构建标记系统,它运行正常。
但我对帖子的快速编辑有问题(使用AJAX)。
如果我用希伯来语写字符,它会将字符替换为Unicode。
当我用希伯来语写一篇文章时的一个例子:
חחחחח לא?test!!
它将成为:
%u05D7%u05D7%u05D7%u05D7%u05D7 %u05DC%u05D0?test!!
答案 0 :(得分:3)
看起来好像被弃用的javascipt函数escape()
用于编码字符串。如果您通过JavaScript在网页上回复此问题,则可以使用unescape()
- 请参阅this fiddle。但是,如上所述,这已被弃用。
应该使用的encodeURIComponent()
代替escape()
,decodeURIComponent()
代替unescape()
。然后,如果这是必要的步骤,您可以在PHP中使用urldecode()
来获得所需的结果。
鉴于您当前的设置,要将unicode字符转换为适合在浏览器中呈现的html实体,以下内容应该可以满足您的需求:
$str = preg_replace_callback('/%u([0-9a-fA-F]{4})/', function ($match) {
return mb_convert_encoding(pack('H*', $match[1]), 'HTML-ENTITIES', 'UCS-2BE');
}, $str);