PHP 字符串 加*

PHP字符串加*

思路:

  1. 获取第一个字符或文字
  2. 获取最后一个字符或文字
  3. 一头一尾,中间加*
  • 尝试用substr方法,发现对中文的支持有问题。

  • 后来发现mb_substr很好的解决了这个问题。

<?php
class CryptoStr{
	//中间加密字符串
    function getCryptoStr($str) {
        $len = strlen($str);
        $first = substr( $str, 0, 1 );
        $last  = substr( $str, $len-1,1 );
        echo $first."****".$last;
    }

    function getCryptoMbStr($str) {
        $len = mb_strlen($str,'utf-8');
        $first = mb_substr($str,0,1,'utf-8');
        $last = mb_substr($str,$len-1,1,'utf-8');            
        echo $first."****".$last;
    }
}
$obj = new CryptoStr();
// $obj->getCryptoStr('zabcs6');
// $obj->getCryptoStr('中国');

$obj->getCryptoMbStr('zabcs6');
$obj->getCryptoMbStr('中国');
?>

输出结果:
z****6 中****国

Tips:通过测试发现mb_str对中文的支持很棒!

posted @ 2016-01-23 10:59  TBHacker  阅读(865)  评论(0编辑  收藏  举报