如何將html實(shí)體轉(zhuǎn)換為十六進(jìn)制?我用了這個(gè)代碼$username = preg_replace_callback('/[\x{80}-\x{10FFFF}]/u', function ($m) { $char = current($m); $utf = iconv('UTF-8', 'UCS-4', $char); return sprintf("&#x%s;", ltrim(strtoupper(bin2hex($utf)), "0")); }, $username);但它不會(huì)轉(zhuǎn)換字符等<。
1 回答

RISEBY
TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個(gè)贊
如果你查看使用的正則表達(dá)式[\x{80}-\x{10FFFF}]
,你會(huì)發(fā)現(xiàn)它將匹配 ASCII 值(十六進(jìn)制)位于 0x80 和 0x10FFFF 之間的所有字符
但如果你看一下 ASCII 圖表,你會(huì)發(fā)現(xiàn)
<
和的十六進(jìn)制值>
低于0x80
。假設(shè)您已從 API 發(fā)布者那里獲得了正則表達(dá)式,他們可能希望您轉(zhuǎn)換擴(kuò)展的 ASCII 字符,例如這些字符,這樣就不會(huì)造成任何問題。但是您可以編輯正則表達(dá)式并使其也適用于其他字符
- 1 回答
- 0 關(guān)注
- 245 瀏覽
添加回答
舉報(bào)
0/150
提交
取消