php之str_replace详解

str_replace

(PHP 4, PHP 5)

str_replace — Replace all occurrences of the search string with the replacement string

Description

mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ]
)

This function returns a string or an array with all occurrences of search in subject replaced
with the givenreplace value.

If you don‘t need fancy replacing rules (like regular expressions), you should always use this function instead ofpreg_replace().

Parameters

If search and replace are
arrays, then str_replace() takes a value from each array and uses them to search and replace on subject.
If replace has fewer values than search,
then an empty string is used for the rest of replacement values. If search is
an array and replace is a string, then this replacement string is
used for every value of search. The converse would not make sense,
though.

If search or replace are
arrays, their elements are processed first to last.

search

The value being searched for, otherwise known as the needle. An array may be used to designate multiple needles.

replace

The replacement value that replaces found search values.
An array may be used to designate multiple replacements.

subject

The string or array being searched and replaced on, otherwise known as the haystack.

If subject is
an array, then the search and replace is performed with every entry of subject,
and the return value is an array as well.

count

If passed, this will be set to the number of replacements performed.

Return Values

This function returns a string or an array with the replaced values.

Changelog

Version Description
5.0.0 The count parameter
was added.
4.3.3 The behaviour of this function changed. In older versions a bug existed when using arrays as bothsearch and replace parameters
which caused empty search indexes to be skipped without advancing the
internal pointer on the replace array. This has been corrected in PHP
4.3.3, any scripts which relied on this bug should remove empty search values prior to calling this function in order to mimic the original behavior.
4.0.5 Most parameters can now be an array.

Examples

Example #1 Basic str_replace() examples

<?php

// Provides: <body text=‘black‘>

$bodytag = str_replace("%body%", "black", "<body text=‘%body%‘>");

// Provides: Hll Wrld f PHP

$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");

$onlyconsonants = str_replace($vowels, "", "Hello World of PHP");

// Provides: You should eat pizza, beer, and ice cream every day

$phrase  = "You should eat fruits, vegetables, and fiber every day.";

$healthy = array("fruits", "vegetables", "fiber");

$yummy   = array("pizza", "beer", "ice cream");

$newphrase = str_replace($healthy, $yummy, $phrase);

// Provides: 2

$str = str_replace("ll", "", "good golly miss molly!", $count);

echo $count;

?>

Example #2 Examples of potential str_replace() gotchas

<?php

// Order of replacement

$str     = "Line 1\nLine 2\rLine 3\r\nLine 4\n";

$order   = array("\r\n", "\n", "\r");

$replace = ‘<br />‘;

// Processes \r\n‘s first so they aren‘t converted twice.

$newstr = str_replace($order, $replace, $str);

// Outputs F because A is replaced with B, then B is replaced with C, and so on...

// Finally E is replaced with F, because of left to right replacements.

$search  = array(‘A‘, ‘B‘, ‘C‘, ‘D‘, ‘E‘);

$replace = array(‘B‘, ‘C‘, ‘D‘, ‘E‘, ‘F‘);

$subject = ‘A‘;

echo str_replace($search, $replace, $subject);

// Outputs: apearpearle pear

// For the same reason mentioned above

$letters = array(‘a‘, ‘p‘);

$fruit   = array(‘apple‘, ‘pear‘);

$text    = ‘a p‘;

$output  = str_replace($letters, $fruit, $text);

echo $output;

?>

Notes

Note: This function is binary-safe.

php之str_replace详解

时间: 2024-10-14 06:28:56

php之str_replace详解的相关文章

str_replace函数的使用规则和案例详解

str_replace函数的使用规则和案例详解 str_replace函数的简单调用: <?php $str = '苹果很好吃.'; //请将变量$str中的苹果替换成香蕉 $strg = str_replace('苹果','香蕉',$str); echo $strg; ?> 输出结果为:"香蕉很好吃" 解释:在str中将"苹果"替换成"香蕉", 所以原本的$str"苹果很好吃" 被改成了 "香蕉很好吃&

PHP5.2至5.6的新增功能详解

截至目前(2014.2), PHP 的最新稳定版本是 PHP5.5, 但有差不多一半的用户仍在使用已经不在维护 [注] 的 PHP5.2, 其余的一半用户在使用 PHP5.3 [注].因为 PHP 那"集百家之长"的蛋疼语法,加上社区氛围不好,很多人对新版本,新特征并无兴趣.本文将会介绍自 PHP5.2 起,直至 PHP5.6 中增加的新特征. PHP5.2 以前:autoload, PDO 和 MySQLi, 类型约束 PHP5.2:JSON 支持 PHP5.3:弃用的功能,匿名函数

PHP 5.2、5.3、5.4、5.5、5.6 对比以及功能详解

PHP 5.2.5.3.5.4.5.5.5.6 对比以及功能详解 截至目前(2014.2), PHP 的最新稳定版本是 PHP5.5, 但有差不多一半的用户仍在使用已经不在维护 [注] 的 PHP5.2, 其余的一半用户在使用 PHP5.3 [注]. 因为 PHP 那"集百家之长"的蛋疼语法,加上社区氛围不好,很多人对新版本,新特征并无兴趣. 本文将会介绍自 PHP5.2 起,直至 PHP5.6 中增加的新特征. PHP5.2 以前:autoload, PDO 和 MySQLi, 类型

过滤ASCII码中的不可见字符, ASCII三部分, 各控制字符详解

今天产品部同事报告了一个BUG,经过调试发现,由于用户输入的字符串中,包含字符0x1E, 也就是”记录分隔符”(Record Separator, Notepad++ 显示为[RS]),导致JavaScript XML解析遭遇错误.于是就想在字符串中过滤掉这些没多大用途的字符,同时又要保留部分常用的字符,例如换行,回车和水平制表符.于是写了下面一个 PHP 函数: /** * 清理字符串中的部分不可见控制字符 * * @param string $string 待处理字符串 * @return

php 字符串函数详解

函数 描述 PHP addcslashes() 在指定的字符前添加反斜杠. 4 addslashes() 在指定的预定义字符前添加反斜杠. 3 bin2hex() 把 ASCII 字符的字符串转换为十六进制值. 3 chop() rtrim() 的别名. 3 chr() 从指定的 ASCII 值返回字符. 3 chunk_split() 把字符串分割为一连串更小的部分. 3 convert_cyr_string() 把字符由一种 Cyrillic 字符转换成另一种. 3 convert_uude

ios开发——实用技术OC-Swift篇&amp;本地通知与远程通知详解

本地通知与远程通知详解 一:本地通知 Local Notification的作用 Local Notification(本地通知) :是根据本机状态做出的通知行为,因此,凡是仅需依赖本机状态即可判断需要发出通知的行为都可以或者说应该使用Local Notification来处理.比方说:iBeacon中进入了某个Beacon region,或者说自定义的一些定时提醒等. 构建Local Notification 在iOS中,构建LocalNotification非常简单,只需要掌握好NSLoca

PHP $_SERVER 详解

元素/代码 描述 $_SERVER['PHP_SELF'] 当前执行脚本的文件名,与 document root 有关. $_SERVER['GATEWAY_INTERFACE'] 服务器使用的 CGI 规范的版本. $_SERVER['SERVER_ADDR'] 当前运行脚本所在的服务器的 IP 地址. $_SERVER['SERVER_NAME'] 当前运行脚本所在的服务器的主机名.如果脚本运行于虚拟主机中,该名称是由那个虚拟主机所设置的值决定. $_SERVER['SERVER_SOFTW

JS正则表达式详解 转

开篇,还是得说说 ^    和    $    他们是分别用来匹配字符串的开始和结束,以下分别举例说明 "^The": 开头一定要有"The"字符串; "of despair$":    结尾一定要有"of despair" 的字符串; 那么, "^abc$": 就是要求以abc开头和以abc结尾的字符串,实际上是只有abc匹配 "notice": 匹配包含notice的字符串 你可以看

减少HTTP请求之合并图片详解(大型网站优化技术)

原文:减少HTTP请求之合并图片详解(大型网站优化技术) 一.相关知识讲解 看过雅虎的前端优化35条建议,都知道优化前端是有多么重要.页面的加载速度直接影响到用户的体验.80%的终端用户响应时间都花在了前端上,其中大部分时间都在下载页面上的各种组件:图片,样式表,脚本,Flash等等. 减少组件数必然能够减少页面提交的HTTP请求数.这是让页面更快的关键.减少页面组件数的一种方式是简化页面设计.但有没有一种方法可以在构建复杂的页面同时加快响应时间呢?嗯,确实有鱼和熊掌兼得的办法. 这里我们就拿雅