首頁  >  文章  >  後端開發  >  php怎麼刪除不可見字符

php怎麼刪除不可見字符

藏色散人
藏色散人原創
2020-08-13 09:42:373627瀏覽

php刪除不可見字元的方法:先開啟後台php程式碼檔案;然後透過「preg_replace($pattern, "", '‎');」方法將不可見的Unicode字元直接刪除掉即可。

php怎麼刪除不可見字符

推薦:《PHP影片教學

php刪除不可見的Unicode字元

在論壇/社群中一般貼文/文章的標題肯定是要求不為空的,但是今天發現了一個神奇的事情,我在後台php程式碼中限制了title不能為空。

if(preg_match('/^\s*$/', $val)) return false;

但是神奇的發現在資料庫中有幾篇文章文章的title是空的(眼睛看起來)

php怎麼刪除不可見字符

而且滑鼠點進去選中發現確實是空的。但是透過var_dump列印卻發現這個"空字元"佔了三個長度

php怎麼刪除不可見字符

#最後發現這個字串的是'\u200e',在十七度的編輯器裡面顯示的是這樣的一個符號。

php怎麼刪除不可見字符

然後複製出來確實是空的字串,所以只能想辦法刪除他。

$pattern = "/[\x{007f}-\x{009f}]|\x{00ad}|[\x{0483}-\x{0489}]|[\x{0559}-\x{055a}]|\x{058a}|[\x{0591}-\x{05bd}]|\x{05bf}|[\x{05c1}-\x{05c2}]|[\x{05c4}-\x{05c7}]|[\x{0606}-\x{060a}]|[\x{063b}-\x{063f}]|\x{0674}|[\x{06e5}-\x{06e6}]|\x{070f}|[\x{076e}-\x{077f}]|\x{0a51}|\x{0a75}|\x{0b44}|[\x{0b62}-\x{0b63}]|[\x{0c62}-\x{0c63}]|[\x{0ce2}-\x{0ce3}]|[\x{0d62}-\x{0d63}]|\x{135f}|[\x{200b}-\x{200f}]|[\x{2028}-\x{202e}]|\x{2044}|\x{2071}|[\x{f701}-\x{f70e}]|[\x{f710}-\x{f71a}]|\x{fb1e}|[\x{fc5e}-\x{fc62}]|\x{feff}|\x{fffc}/u";
$str = '‎'; // 三个长度
$str = preg_replace($pattern, "", '‎');
var_dump($str); // 0长度

以上是php怎麼刪除不可見字符的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn