• 技术文章 >后端开发 >PHP问题

    php怎么删除不可见字符

    藏色散人藏色散人2020-08-13 09:42:37原创1559

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

    推荐:《PHP视频教程

    php删除不可见的Unicode字符

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

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

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

    企业微信截图_15972828228073.png

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

    企业微信截图_15972828284716.png

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

    企业微信截图_15972828334958.png

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

    $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核实处理。
    专题推荐:php 不可见字符
    上一篇:php如何实现手机适配跳转页面 下一篇:php设置字符串编码格式
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• php怎么处理不可见字符• php如何过滤不可见字符• 关于php的三种运行方法• php如何使用正则替换域名
    1/1

    PHP中文网