在PHP中,有两个函数可以实现字符串替换,strtr()和str_repalce()函数。
首先我们简单了解下strtr()函数的定义及语法。 strtr:转换指定字符。 两个语法: 第一种语法: string strtr( string $str, string $from, string $to) 第一个参数表示待转换的字符串。第二个参数表示字符串中与将要被转换的目的字符 to 相对应的源字符。第三个参数表示字符串中与将要被转换的字符 from 相对应的目的字符。 第二种语法: string strtr( string $str , array $replace_pairs ) 第一个参数表示待转换的字符串。第二个参数表示以数组键值形式替换指定字符串。 下面我们就结合两个简单的代码示例为大家详细介绍其中最为常用的strtr()函数用法及使用技巧。 PHP中strtr函数替换字符串示例一:

<?php $str = "PHP中文网"; echo strtr($str, 'P', 'A') . '<br>'; echo strtr($str, 'PP', 'z1') . '<br>'; echo strtr($str, 'P', ' ') . '<br>'; echo strtr($str, 'PH', '12') . '<br>'; echo "<hr>"; ?> 通过浏览器访问,结果如下图:
大家可以结合代码和返回值来了解strtr函数这种语法替换字符串的规则。

这里有的朋友可能对第二行“PP”替换“z1”的结果有些疑惑,这是因为如果要转换两个相同的目的字符,那么是以最后一个字符的值为标准。由于这里最后一个“P”对应的是“1”,所以替换结果就从“PHP中文网”转换为“1H1中文网”。

第三行显示则是替换空格符的结果,也是非常容易理解的。其余情况替换对应的字符即可。

PHP中strtr函数替换字符串示例二:

<?php

$str = "PHP中文网";

echo strtr($str, array("中" => '')) . '<br>';

echo strtr($str, array("中" => '.', "文网" => "cn")) . '<br>';

echo "<hr>";

?>

通过浏览器访问,结果如下图:

如图使用PHP中strtr函数也可以实现中文字符串替换。

本篇文章就是关于PHP替换指定字符串的具体方法介绍,使用strtr函数不仅可以实现多个字符串替换还能实现中文字符串替换等。
定义和用法
str_replace() 函数以其他字符替换字符串中的一些字符(区分大小写)。 该函数必须遵循下列规则: 如果搜索的字符串是数组,那么它将返回数组。
如果搜索的字符串是数组,那么它将对数组中的每个元素进行查找和替换。
如果同时需要对数组进行查找和替换,并且需要执行替换的元素少于查找到的元素的数量,那么多余元素将用空字符串进行替换
如果查找的是数组,而替换的是字符串,那么替代字符串将对所有查找到的值起作用。
注释:该函数区分大小写。请使用 str_ireplace() 函数执行不区分大小写的搜索。 注释:该函数是二进制安全的。

<?php
$arr = array("blue","red","green","yellow");
print_r(str_replace("red","pink",$arr,$i));
echo "替换数:$i";
?>

<?php
$find = array("Hello","world");
$replace = array("B");
$arr = array("Hello","world","!");
print_r(str_replace($find,$replace,$arr));
?>


 

PHP替换指定字符串的更多相关文章

  1. Project 5:替换指定字符串

    这个程序主要用于替换指定字符串,较为简单. #include <stdio.h> void change(char *,char *,char *); int ju(char *,char ...

  2. javascript中通过replace函数搜索和替换指定字符串

    javascript中我们可以通过replace函数替换部分字符串为指定字符串,本文展示了replace的详细用法,并且通过范例演示了如何进行部分替换.完整替换和不区分大小写替换. javascrip ...

  3. c++ string替换指定字符串

    string fnd = "dataset"; string rep = "labels"; string buf = "d:/data/datase ...

  4. mysql批量替换指定字符串

    将字段title中的abc替换为123 UPDATE `table1` SET `title` = replace(title, 'abc', '123') WHERE `typeid` =18;

  5. js替换指定字符串

    // var a = "212"; // var b = []; // for(var i=0;i<a.length;i++){ // if(a[i]=="1&qu ...

  6. Java遍历目录下全部文件并替换指定字符串

    应用场景:比方有一个深层次的文件目录结构,如:javaAPI 每一个文件中面都有同样的内容,而我们要统一改动为其它内容.上千个文件假设一个个改动显得太不明智. import java.io.Buffe ...

  7. replace() MySQL批量替换指定字段字符串

    mysql replace实例说明: UPDATE tb1 SET f1=REPLACE(f1, 'abc', 'def'); REPLACE(str,from_str,to_str) 在字符串 st ...

  8. 用变量替换指定的字符串,sed: -e 表达式 #1, 字符 29: “s”的未知选项

    在shell脚本里,使用sed,然后用变量替换指定的字符串,一直出现这个错误:但是单独运行在外面可以 把分隔符/替换成#就可以: sed "s#revision=.*#revision=$s ...

  9. mysql函数之七:replace() MySQL批量替换指定字段字符串

    mysql replace实例说明: UPDATE tb1 SET f1=REPLACE(f1, 'abc', 'def'); REPLACE(str,from_str,to_str) 在字符串 st ...

随机推荐

  1. CentOS6.7下Ansible部署

    Ansible是一种集成IT系统的配置管理, 应用部署, 执行特定任务的开源平台. 它基于Python语言实现, 部署只需在主控端部署Ansible环境, 被控端无需安装代理工具, 只需打开SSH, ...

  2. java代码示例(5)

    /** * 需求分析:从键盘输入5名学员某门课程的笔试成绩,并求出五门成绩的总成绩和平均成绩 * @author chenyanlong * 日期:2017/10/14 */ package com. ...

  3. Scala进阶之路-尾递归优化

    Scala进阶之路-尾递归优化 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 递归调用有时候能被转换成循环,这样能节约栈空间.在函数式编程中,这是很重要的,我们通常会使用递归方法来 ...

  4. 使用cpanm安装perl相关模块

    cpanm是安装Perl模块的最方便的方法.自动下载安装依赖包.使用CPAN shell或下载源码包安装模块,遇到大量依赖关系,非常头痛.下面就是一例: 1. 安装cpanmcpanm其实是一个可执行 ...

  5. idea常用的插件

    ignore 插件 可以自动生成.ignore文件   非常的实用 gitee 插件 搜所gitee安装即可  码云的插件 maven helper 插件 idea 中解决maven 包冲突的问题 a ...

  6. POJ - 3279 Fliptile (枚举)

    http://poj.org/problem?id=3279 题意 一个m*n的01矩阵,每次翻转(x,y),那么它上下左右以及本身就会0变1,1变0,问把矩阵变成全0的,最小需要点击多少步,并输出最 ...

  7. Bootstrap --对话框及提示框的处理和优化

    源模态框使用:http://www.runoob.com/bootstrap/bootstrap-modal-plugin.html <!-- 按钮触发模态框 --> <button ...

  8. 通过COM组件方式实现java调用C#写的DLL文件 转

    最近一段时间单位在做一个Web项目,工程师用JAVA语言,需要公用人员信息,统一用户名和密码,原有的平台中是用C#语言开发的,在网上查找解决方法,通过JAVA调用C#的DLL文件实现.网上资料很多,自 ...

  9. php+mysql注入

    SQL简单命令介绍: mysql.exe -u 用户名  -p  密码  -h  ip地址 show databases;查看数据库 select version();php注入下的版本号 use d ...

  10. Linux cache 缓存过大

    linux cache 缓存过大 : 除重启服务 之外:直接释放内存方式之一: 修改配置释放cached内存: echo > /proc/sys/vm/drop_caches