zoukankan      html  css  js  c++  java
  • 替换字符串中间部分为*

    /**
    * 使用$replace替换字符串的中间部分
    */
    function replaceCenterWithChar($str, $replace = "*", $leftLen = 2, $rightLen = 2, $replaceLen = 3) {
            $length = mb_strlen($str, "utf-8");
            if ($length <= 1) {
                return $str;
            } elseif ($length == 2) {
                return mb_substr($str, 0, 1, "utf-8").str_repeat($replace, $replaceLen).mb_substr($str, 1, 1, "utf-8");
            } elseif ($length < $leftLen) {
                return $str;
            } elseif ($length == $leftLen) {
                return mb_substr($str, 0, $leftLen - 1, "utf-8").($replace, $replaceLen).mb_substr($str, $length - 1, 1, "utf-8");
            } elseif ($length < ($leftLen+$rightLen)) {
                return mb_substr($str, 0, $leftLen, "utf-8").str_repeat($replace, $replaceLen).mb_substr($str, $leftLen, $length - $leftLen, "utf-8");
            } elseif ($length > $rightLen) {
                return mb_substr($str, 0, $leftLen, "utf-8").str_repeat($replace, $replaceLen).mb_substr($str, $length - $rightLen, $rightLen,  "utf-8");
            } else {
                return mb_substr($str, 0, $leftLen, "utf-8").str_repeat($replace, $replaceLen).mb_substr($str, $length - $leftLen, $rightLen,  "utf-8");
            }
        }
    mb_strlen — 获取字符串的长度
    mb_substr ( string $str , int $start , int $length = NULL , string $encoding = mb_internal_encoding() ) : string
    根据字符数执行一个多字节安全的 substr() 操作。 位置是从 str 的开始位置进行计数。 第一个字符的位置是 0。第二个字符的位置是 1,以此类推。
    str_repeat() 函数把字符串重复指定的次数。
    str_repeat(string,repeat)
    echo str_repeat("Shanghai ",5);
    Shanghai Shanghai Shanghai Shanghai Shanghai
    世界上最美的风景,是自己努力的模样
  • 相关阅读:
    [php]php设计模式 Command(命令模式)
    [php]php设计模式 Observer(观察者模式)
    [转]Ubuntu 系统安装极点五笔
    [转] 关于开源协议
    上传大小限制设置
    php开启安全模式后禁用的函数
    [php]php设计模式 Template (模板模式)
    [php]php设计模式 Singleton(单例模式)
    [php]php设计模式 Strategy(策略模式)
    [转]调优您的 LAMP 应用程序的 5 种简单方法
  • 原文地址:https://www.cnblogs.com/xiong-hua/p/14270579.html
Copyright © 2011-2022 走看看