php 显示特殊字符,PHP处理特殊字符比对

1.特殊字符转16进制

bin2hex($string) 将字符串转为16进制

'1—1 12 (223), 【33】'

1 对照 0x31 十进制为49

—对照e28094,e2的十进制是226,80的十进制是128,94的十进制是148

中文空格 对照 e38080,e3的十进制是227,80的十进制是128

最全的ASCII码对照表

'0d0a'是一個CRLF Windows換行符,如果想要替换,要使用"\r\n" (必须要使用双引号)

2.使用特殊字符的十进制处理特殊字符

<?php
// // ------0x01 处理需求:
// 第一组:空格替换为去掉,有小空格和大空格都要去掉;
// 第二组:—和-;
// 第三组:大小括号替换,统一成小括号。()()
// 第四组:斜杠替换,/替换/。
// 第五组:【替换为[,】替换为]。
// 第六组:英文字母大小写替换。
// 第七组:回车符、切换符替换为去掉。

// 将这些特殊字符处理后,再进行数据比对,判断是否合格

// // ------0x02 代码实现
// 实现思路,
// 读出特殊字符的二进制码, 然后针对二进制码,进行数据处理
$keyword = '1—1 12 (223), 【33】';

echo $keyword."\n";
echo "start cal------\n";
$arr_kwd = str_split($keyword);
foreach ($arr_kwd as $kwd) {
    echo $kwd . ',' . ord($kwd) . "    //ord() 函数返回字符串中第一个字符的 ASCII 值。
";
}

//处理特殊字符
function trimString($str){
    if(is_string($str)){
        //处理空格:
        $str = str_replace(chr(194).chr(160), '', $str); //特殊空格
        $str = str_replace(chr(227).chr(128).chr(128), '', $str); //特殊空格 中文空格
        $str = str_replace(chr(32), '', $str); //普通空格

        //处理\t
        $str = str_replace(chr(9), '', $str);

        //处理— 转为-
        $str = str_replace(chr(226).chr(128).chr(148), '-', $str);

        //处理()
        $str = str_replace(chr(239).chr(188).chr(136), '(', $str);
        $str = str_replace(chr(239).chr(188).chr(137), ')', $str);

        //处理 /
        $str = str_replace(chr(239).chr(188).chr(143), '/', $str);

        //处理 【】
        $str = str_replace(chr(227).chr(128).chr(144), '[', $str);
        $str = str_replace(chr(227).chr(128).chr(145), ']', $str);

        //处理回车换行
        $str = str_replace(chr(13).chr(10), '', $str);

        //英文字母转大写
        $str = strtoupper($str);
    }

    return $str;
}

$aaa = trimString($keyword);
var_dump($aaa);

function compareTirmString($str1,$str2){
    $str3 = trimString($str1);
    $str4 = trimString($str2);
    if($str3 == $str4){
        return true;
    }else{
        return false;
    }
}

?>

 参考:https://blog.csdn.net/weixin_42347535/article/details/115160144

最全的ASCII码对照表

posted @ 2024-02-18 14:28  声声慢43  阅读(44)  评论(0编辑  收藏  举报