php怎么删除不可见字符

  • 来源:网络
  • 更新日期:2020-08-13

摘要:php删除不可见字符的方法:首先打开后台php代码文件;然后通过“preg_replace($pattern, "", '‎');”方法将不可见的Unicode字符直接删除掉即可。推荐:《PHP视频教程》p

php删除不可见字符的方法:首先打开后台php代码文件;然后通过“preg_replace($pattern, "", '‎');”方法将不可见的Unicode字符直接删除掉即可。

推荐:《PHP视频教程》

php删除不可见的Unicode字符

在论坛/社区中一般帖子/文章的标题肯定是要求不为空的,但是今天发现了一个神奇的事情,我在后台php代码中限制了title不能为空。

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

但是神奇的发现在数据库中有几篇文章文章的title是空的(眼睛看起来)

而且鼠标点进去选中发现确实是空的。但是通过var_dump打印却发现这个"空字符"占了三个长度

最后发现这个字符串的是'\\u200e',在十七度的编辑器里显示的是这样的一个符号。

然后复制出来确实是一个空的字符串,所以只能想办法删除他。

$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长度