分享一个将字符串中间段替换为*号的函数

header(‘Content-type:text/html;charset=utf-8‘);
function cutstr($str)
{
    #计算$str的字符个数
    preg_match_all("/./u", $str, $len);
    $strlen = (int) count($len[0]);

    #计算中间位置开始转*
    $start = ceil($strlen / 2);
    $start = ceil($start / 2);

    #计算结束的字符长度
    $forlen = $strlen - $start;

    $string = ‘‘;
    #将字符串里面的字分割成一个数组
    for($i=0; $i < $strlen; $i ++)
    {
        if( $i <= $start || $i >= $forlen )
        {
            $string .= $len[0][$i];
        }
        else
        {
            $string .= ‘*‘;
        }
    }
    return $string;
}

$str = ‘[email protected]‘;

echo cutstr( $str ); exit;

时间: 2024-10-29 02:56:45

分享一个将字符串中间段替换为*号的函数的相关文章

分享一个json字符串转换方法

function json2str(o) { var arr = []; var fmt = function(s) { if (typeof s == 'object' && s != null) return json2str(s); return /^(string|number)$/.test(typeof s) ? '"' + s + '"' : s; } for (var i in o) arr.push("'" + i + "

一个在字符串中查找多个关键字的函数strstrs(三种不同算法实现及效率分析)

平时项目中有时需要用到在字符串中搜索两个或更多的关键字的情景.例如:将字符串"ab|cd#ef|"按竖线或者井号做分隔 如果是大项目,一般会采用正则表达式做处理.但有时写个小程序,不想因此引进一个正则库,所以我自己写了一个支持多关键字版本的字符串查找函数strstrs 函数说明: 1 #include <stdio.h> 2 #include <windows.h> 3 4 #ifndef IN 5 #define IN 6 #endif 7 8 //函数说明:

分享一个根据具体的日期判断星座的PHP函数

其实原理很简单,也就是把所有的星座月份日期范围存储到一个数组中,然后根据日期判断属于哪个范围,这样就得到是哪个星座了. 下面的这个函数写的比较精炼,可以参考一下 function constellation($month,$day){ //检查参数有效性 if($month<1||$month>12||$day<1||$day>31) return false; //星座名称以及开始日期 $constellations=array( array("20"=>

分享一个二进制转字符串的方法

1 public string ByteToString(byte[] inputBytes) 2 { 3 StringBuilder temp = new StringBuilder(2048); 4 foreach (byte tempByte in inputBytes) 5 { 6 temp.Append(tempByte > 15 ? 7 Convert.ToString(tempByte, 2) : '0' + Convert.ToString(tempByte, 2)); 8 }

写一个函数,将字符串中空格替换为%20。

写一个函数,将字符串中空格替换为%20.样例:"abc defgx yz"替换为"abc%20defgx%20yz".这道题是一道简单的字符和字符串替换题,字符的替换直接用指针即可,每次都需要把空格后的字符串保存到一个数组中,然后把空格替换为%20后再将刚刚拷贝的字符串拷贝到%20的后面,代码如下: Fun(char str){char p = str;char arr[20];while (p != '\0'){if (p == ' '){strcpy(arr,

编写一个实现字符串替换的程序,

1: 题目 健写一个实现字符串替换的程序,该程序必须似含函数 replace(char*s,char*t,char“u),该函数实现将字符串s中所有出现的子串t替换为串u,并 输出替换后的串及替换的子串个数.若s中不包含子串t,则输出提示信息:没有满足条件的子串t.例如:replace("java programming","java","c"):将输出 e programming,1":replace("java progr

在Vi里面实现字符串的批量替换

在Vi里面实现字符串的批量替换. a. 文件内全部替换: %s#abc#def#g(用def替换文件中所有的abc) 例如把一个文本文件里面的"linuxidc.com"全部替换成"linuxidc.net": :%s#linuxidc.com#xwen.net#g (如文件内有#,可用/替换,比如:%s/linuxidc.com/xwen.net/g) b. 文件内局部替换: 把10行到50行内的"abc"全部替换成"def"

C 封装一个通用链表 和 一个简单字符串开发库

引言 这里需要分享的是一个 简单字符串库和 链表的基库,代码也许用到特定技巧.有时候回想一下, 如果我读书的时候有人告诉我这些关于C开发的积淀, 那么会走的多直啊.刚参加工作的时候做桌面开发, 服务是C++写,界面是C#写.那时候刚进去评级我是中级,因为他问我关于系统锁和信号量都答出来.开发一段 时间,写C#也写的很溜.后面招我那个人让我转行就写C++和php,那时候就开始学习C++有关知识. 后面去四川工作了,开发安卓,用eclipse + java语法 + android jdk,开发前端,

分享一个从网上获取天气的代码

项目中需要查询天气,自己写了一段代码从中国天气网和MSN上查天气,中国天气网查中国天气,MSN查世界天气. MSN用到的数据结构 1 /// <summary> 2 /// 根据城市名查询MSN天返回的城市编码信息类 3 /// </summary> 4 public class Location 5 { 6 //全名 例如 杭州,浙江,中国 7 public string FullName { get; set; } 8 9 //国家 10 public string Count