PHP字符串替换几种函数实例

  1. strtr()

  2. str_replace()

  3. substr_replace()

  4. preg_replace()

strtr

$str = "test";
$str1 = strtr($str, 't', 'z'); // zesz
$str2 = strtr($str, 'tt', 'z1');// 1es1
$str3 = strtr($str, 't', '');// test
$str4 = strtr($str, 'ts', '12');// 1e21
$str5 = strtr($str, array("t" => '')); // es
$str6 = strtr($str, array("e" => 'www', "s" => "hhh"));// twwwhhht

str_replace

$str = "test";
 
$str1 = str_replace('t', '', $str);// es
$str2 = str_replace('es', 't', $str);// ttt
 
$str3 = str_replace(array('t', 'sa'), array('a', 'b'), $str);// aeb
$str4 = str_replace(array('t', 'sa'), array('a'), $str);// ae
$str5 = str_replace(array('t'), array('a', 'b'), $str);// aesa
$str6 = str_replace(array('t', 's'), 'e', $str);// eeee
 
$arr = array(
    'a' => 'testa',
    'b' => 'testb',
    'c' => array(
        'ca' => 'tes1',
        'cb' => 'tes2',
    ),
);
 
$arr1 = str_replace('es', 't', $arr);
/**
$arr1 = array(
    'a' => 'ttta',
    'b' => 'tttb',
    'c' => array(
        'ca' => 'tes1',
        'cb' => 'tes2',
    ),
);
 *
 *
 */

substr_replace

$str = "test";
 
echo substr_replace($str, 'zzz', 1, 2);// tzzzt
 
$arr = array(
    'a' => 'what',
    'b' => 'are',
    'c' => array(
        'ca' => '11',
        'cb' => '22',
    ),
);
 
$arr1 = substr_replace($arr, 'ok', 0, 1);
/**
$arr1 = array(
    'a' => 'okhat',
    'b' => 'okre',
    'c' => 'okarry'
);
 */

preg_replace

$arr = array(
    'a' => 'XXX25012349999XXX',// 不是以1开头
    'b' => 'XXX13188887777XXX',
    'c' => 'XXXX918811113333XXXXX',
    'd' => 'XXXX188111133331XXXXX',
);
 
$re = preg_replace('/([^0-9])(1\d{10})([^0-9])/', '$1 mobile:$2 $3', $arr);// 利用$1,$3
 
$re1 = preg_replace('/(?<=[^0-9])(1\d{10})(?=[^0-9])/', ' mobile:$1 ', $arr);// 使用向前向后匹配,直接匹配的$1电话号
 
/**
Array
(
[a] => XXX25012349999XXX
[b] => XXX mobile:13188887777 XXX
[c] => XXXX918811113333XXXXX
[d] => XXXX188111133331XXXXX
)
 **/

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PHP柚子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值