PHP替换指定字符串

在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));
?>


 

原文地址:https://www.cnblogs.com/sgm4231/p/9726500.html

时间: 2024-10-10 15:07:54

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

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

javascript中我们可以通过replace函数替换部分字符串为指定字符串,本文展示了replace的详细用法,并且通过范例演示了如何进行部分替换.完整替换和不区分大小写替换. javascript中我们可以通过replace函数替换部分字符串为指定字符串.下面是replace函数的基本语法: str_var.replace("search_string", "replace_string") 下面看一个简单的范例: <script type="

Java遍历文件夹下所有文件并替换指定字符串

应用场景:比如有一个深层次的文件目录结构,如:javaAPI 每个文件里面都有相同的内容,而我们要统一修改为其他内容.上千个文件如果一个个修改显得太不明智. import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.io.PrintWriter; public class Test { /** *

js替换指定字符串

1 // var a = "212"; 2 // var b = []; 3 // for(var i=0;i<a.length;i++){ 4 // if(a[i]=="1"){ 5 // b[i]=3; 6 // }else{ 7 // b[i]= +a[i]; 8 // } 9 // } 10 // console.log(b); >>[2, 3, 2] 不兼容ie7及以下,因为不支持字符串[]形式.

判断文件编码并且替换指定字符串的方法

1 private void Replace(string oldStr, string newStr, string file) 2 { 3 FileStream fs = File.OpenRead(file); 4 //to know if this file is text file or binary file 5 byte b; 6 for (long i = 0; i < fs.Length; i++) 7 { 8 b = (byte)fs.ReadByte(); 9 if (b

项目--js中替换目标字符串指定的所有字符

js提供的字符串替换函数replace可以将字符串中符合条件的字符串替换成目标字符串.但是一般使用字符串进行查找替换只能替换第一个符合条件的结果.如var str = 大家都是男人吗,难道不是吗!;str = str.replace('吗', '嘛');alert(str);var str = 大家都是男人吗,难道不是吗!;str = str.replace('吗', '嘛');alert(str);上述代码中只有第一个吗被替换,输出结果是大家都是男人嘛,难道不是吗! ,嘿嘿如果想全部替换字符串

MySQL批量替换指定字段字符串

MySQL批量替换是我们经常会用到的功能,有时站内包含敏感词,会给我们带来麻烦,而在信息量较大的情况下,一篇篇查找.修改是不现实的. 用MySQL批量替换,甚是轻松.发布在这里供参考,以备不时之需. MySQL批量替换指定字段字符串语句 UPDATE 数据表名 SET 字段名 = replace(字段名, '要替换的字符串', '替换为') WHERE 设定条件; 比如本站今天发现站内关于linux命令的文章 标题不是太好,以前都是以 linux下mkdir命令使用详解---linux创建目录命

涛哥的Python脚本工具箱之批量替换目录所有指定扩展名的文件中的指定字符串

今天发布刚完成的涛哥的Python脚本工具箱之批量替换目录所有指定扩展名的文件中的指定字符串,命令行参数处理改用目前比较好用的argparse库,Python代码如下: #!/usr/bin/python2.7 # -*- encoding: UTF-8 -*- # Copyright 2014 [email protected] """replace old string with new string from all files in path 批量替换目录所有指定扩展

正则表达式替换和不包含指定字符串

需求 展示一段文字,段落中有些特殊标记的人名.刊名等,格式大体是:“(作者<刊名>其他)”,某个字段可以为空,比如作者为空. 那么对应的正则大体是这样的   '\((.*?)<(.*?)>.*?\)' 最终的效果是 “(<a>作者</a><<a>刊名</a>>其他)” 第一版 1 class Program 2 { 3 static string str = @"<p>[例]当夫广州之首难,武汉兴师,

12.字符串全部替换指定文本

运行结果: 完整代码: 1 #define _CRT_SECURE_NO_WARNINGS 2 #include <stdlib.h> 3 #include <stdio.h> 4 #include <string.h> 5 6 void replaceAll(char *ppstr, char *from, char *to) 7 { 8 //备份地址 9 //首地址,用于被赋值 10 char *start1 = ppstr; 11 //游标,用于给start1赋值