1、復(fù)現(xiàn)
<?php
// 示例
header("Content-type: text/html; charset=utf-8");
$str = '你好';
var_dump(mb_strlen($str)); # 輸出結(jié)果 int(4)
讓隱藏字符顯現(xiàn)
var_dump(json_encode($str)); # 輸出結(jié)果 string(26) ""\u4f60\u597d\u200b\u200b""
很明顯后面多了兩個(gè)隱藏的字符\u200b
2、處理
js過(guò)濾處理
function filter_str(str) {
return str.replace(/[\u200b-\u200f\uFEFF\u202a-\u202e]/g, "");
}
php過(guò)濾處理
function filter_str(str) {
$str = json_encode($str); // 轉(zhuǎn)換為Unicode編碼
$patterns = ['/?/', '/​/', '#\\\u200b#us']; // 正則表達(dá)式
$replacements = ['', '', '']; // 替換成的字符
$str = preg_replace($patterns, $replacements, $str);
$str = json_decode($str, true); //解碼Unicode編碼
return $str;
}
參考鏈接:https://blog.csdn.net/wuxianbing2012/article/details/107206020