我正在尝试在我的网站上支持多种语言。一些需要翻译的内容将具有实体引用,例如Ç
. 我可以htmlentities
用来将其转换为Ã
. 但是,如果我需要翻译一个带有标记的字符串怎么办:
"<p>Hello, <a href="">world with Ç</a></p>"
如果我使用htmlentities
,<
and>
也会被转换。我不想将字符串分解为标签和非标签部分,然后htmlentities
仅适用于非标签部分。那将太混乱和乏味。
我正在尝试在我的网站上支持多种语言。一些需要翻译的内容将具有实体引用,例如Ç
. 我可以htmlentities
用来将其转换为Ã
. 但是,如果我需要翻译一个带有标记的字符串怎么办:
"<p>Hello, <a href="">world with Ç</a></p>"
如果我使用htmlentities
,<
and>
也会被转换。我不想将字符串分解为标签和非标签部分,然后htmlentities
仅适用于非标签部分。那将太混乱和乏味。
此处发布的解决方法
将您的字符串传递给以下函数并使用返回的字符串。
function unicode_escape_sequences($str){
$working = json_encode($str);
$working = preg_replace('/\\\u([0-9a-z]{4})/', '&#x$1;', $working);
return json_decode($working);
}