建站软件 优化软件 编程软件 网页辅助 站群程序 网站程序 图像处理 资源教程 字体下载 推荐软件


您的位置:首页 > PHP学习 > 字符串替换str_replace与preg_replace区别

字符串替换str_replace与preg_replace区别

时间:2015-05-17 21:06:41  来源:免费模板网 作者:风雪 阅读次数 tags字符串

今天对比下字符串处理函数的效率问题,一般不追求效率的可以忽略。
str_replace() 函数使用一个字符串替换字符串中的另一些字符。
简单替换
php教程
echo str_replace("world","john","hello world!");
?>
替换数据
echo str_replace("world","john","hello world!");
?>
利用正则表达式来替换
语法:stringobj.replace(rgexp, replacetext)
用str.replace("|",",") 只会替换第一个匹配的字符, str.replace(/|/g,",")则可以替换掉全部匹配的字符(g为全局标志)。

语法
preg_replace(find,replace,string,count)
preg_replace -- 执行正则表达式的搜索和替换
说明
mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit])

在 subject 中搜索 pattern 模式的匹配项并替换为 replacement。如果指定了 limit,则仅替换 limit 个匹配,如果省略 limit 或者其值为 -1,则所有的匹配项都会被替换。
实例
$string = "april 15, 2003";
$pattern = "/(/w+) (/d+), (/d+)/i";
$replacement = "/${1}1,/$3";
print preg_replace($pattern, $replacement, $string);
/* output
   ======
april1,2003
*/
?>
替换数个值
$patterns = array ("/(19|20)(/d{2})-(/d{1,2})-(/d{1,2})/",
                   "/^/s*{(/w+)}/s*=/");
$replace = array ("//3///4///1//2", "$//1 =");
print preg_replace ($patterns, $replace, "{startdate} = 1999-5-27");
?>
本例将输出:
$startdate = 5/27/1999


例子 4. 使用 /e 修正符
preg_replace ("/(]*>)/e",
              "'//1'.strtoupper('//2').'//3'",
              $html_body);
?>
这将使输入字符串中的所有 html 标记变成大写

区别preg_replace函数主要用于正则比较方便而str_replace替换字符效率更好,但他们都用于字符替换的函数。

本文地址:https://www.freemoban.com/php/2015/0517/1848.html

猜你喜欢
栏目推荐
模板推荐

Copyright:www.freemoban.com 免费模板网 All Rights Reserved 网站备案:辽ICP备19014872号-2   辽公网安备 21010602000376号  辽公网安备:42900402000182号

免责声明:本站部分资源来自互联网收集,版权归原创者所有,如果侵犯了你的权益,我们会及时删除侵权内容,联系QQ:1615187561 谢谢合作!