• PHP str_replace() 函数详解


    PHP str_replace() 函数详解

    1、前言:
    str_replace() 函数以其他字符替换字符串中的一些字符(区分大小写)。
    该函数区分大小写。请使用 str_ireplace() 函数执行不区分大小写的搜索。

    2、语法:
    mixed str_replace(mixed $search, mixed $replace, mixed $subject[,int &$count])

    参数 描述
    $search 必需。规定要查找的值。
    $replace 必需。规定替换 find 中的值的值。
    $subject 必需。规定被搜索的字符串。
    $count 可选。对替换数进行计数的变量。

    3、使用:
    1)$search $replace都是字符串
    代码:
    $str = str_replace( "o", "i", "How are you?", $cnt );
    echo $str.' '.$cnt;
    返回:Hiw are yiu? 2
    说明:将$subject中的$search替换为$replace,并计算次数

    2)、$search为数组
    代码:
    $str = str_replace( [ "o", "u" ], "i", "How are you?", $cnt );
    echo $str.' '.$cnt;
    返回:Hiw are yii? 3
    说明:在$subject中,将$search的各个字符串替换为$replace,并计算次数

    3)、$replace为数组
    代码:
    $str = str_replace( "o", [ "i", "b" ], "How are you?", $cnt );
    var_export($str);
    echo $cnt;
    返回:
    Notice: Array to string conversion in ..\..\Test.php on line 19
    'HArrayw are yArrayu?' 2
    说明:在$subject中将$search字符串替换为Array

    4)、$subject为数组
    代码:
    $str = str_replace( "o", 'i', [ 'H', 'o', 'w', 'a', 'r', 'e', 'y', 'o', 'u' ], $cnt );
    var_export($str);
    echo $cnt;
    返回:array ( 0 => 'H', 1 => 'i', 2 => 'w', 3 => 'a', 4 => 'r', 5 => 'e', 6 => 'y', 7 => 'i', 8 => 'u', )2
    说明:返回值为数组,将$subject中的各元素分别用$search替换为$replace的值进行替换。

    5)、$search $replace都为数组
    代码:
    $str = str_replace( [ "o", "u" ], ['you', 'abc'], "How are you?", $cnt );
    echo $str.' '.$cnt;
    返回:Hyoabcw are yyoabcabc? 5
    说明:在$subject中将$search的各元素值依次分别替换为$replace的各元素值。
    过程:先将 $subject 中的 o 替换为 you => hyouw are yyouu?
    再将替换后的$subject的 u 替换为 abc => Hyoabcw are yyoabcabc?
    注:
    (1)、如果$search的长度比$replace长;长出来的部分将匹配空字符串
    代码:
    $str = str_replace( [ "o", "u", "c" ], ['you', 'abc'], "How are you?", $cnt );
    echo $str.' '.$cnt;
    返回:Hyoabw are yyoabab? 8
    过程: 先将 $subject 中的 o 替换为 you => hyouw are yyouu?
    再将替换后的$subject的 u 替换为 abc => Hyoabcw are yyoabcabc?
    再将替换后的$subject的 c 替换为 '' => Hyoabw are yyoabab?
    (2)、如果$replace的长度比$search长;长出来的部分将忽略不计
    代码:
    $str = str_replace( [ "o", "u" ], ['you', 'abc', 'ban'], "How are you?", $cnt );
    echo $str.' '.$cnt;
    返回:Hyoabcw are yyoabcabc? 5

    6)、$search $replace $subject都为数组
    代码:
    $str = str_replace( [ "o", "u" ], ['you', 'abc'], ["How are you?", 'How old are you?'], $cnt );
    var_export($str);
    echo $cnt;die;
    返回:array ( 0 => 'Hyoabcw are yyoabcabc?', 1 => 'Hyoabcw yoabcld are yyoabcabc?', )12
    说明:在$subject中将$search各元素的值依次分别替换为$replace的值,然后进行替换。
    过程:
    (1)、替换$subject[0] => "How are you?"
    先将 $subject[0] 中的 o 替换为 you => hyouw are yyouu?
    再将替换后的$subject[0]的 u 替换为 abc => Hyoabcw are yyoabcabc?
    (2)、替换$subject[1] => 'How old are you?'
    先将 $subject[1] 中的 o 替换为 you => hyouw yould are yyouu?
    再将替换后的$subject[1]的 u 替换为 abc => Hyoabcw yoabcld are yyoabcabc?

    本文来自博客园,作者:飞龙在生,转载请注明原文链接:https://www.cnblogs.com/flzs/p/15721935.html

  • 相关阅读:
    html中frameset的详细使用方法
    日期控件API
    限制input输入类型(多种方法实现)
    springmvc导出excel并弹出下载框
    Spring mvc 验证码的做法
    Spring Boot 集成MyBatis
    Spring Boot 实践折腾记(三):三板斧,Spring Boot下使用Mybatis
    支付系统架构
    javaScript事件(六)事件类型之滚轮事件
    你不是真正的快乐
  • 原文地址:https://www.cnblogs.com/flzs/p/15721935.html
Copyright © 2020-2023  润新知