>  기사  >  백엔드 개발  >  문자열의 일부 문자를 바꾸는 PHP 함수 str_replace()(대소문자 구분)

문자열의 일부 문자를 바꾸는 PHP 함수 str_replace()(대소문자 구분)

黄舟
黄舟원래의
2017-11-03 11:40:352614검색

string "Hello world!"에서 문자 "world"를 "Peter"로 바꿉니다.

<?php
echo str_replace("world","Peter","Hello world!");
?>

정의 및 사용법

str_replace() 함수는 문자열의 일부 문자를 바꿉니다(대소문자 구분).

함수는 다음 규칙을 따라야 합니다.

검색된 문자열이 배열이면 배열을 반환합니다.

검색된 문자열이 배열이면 배열의 모든 요소를 ​​검색하여 바꿉니다.

배열을 검색하고 교체해야 하는 경우 교체할 요소가 찾은 요소 수보다 적으면 초과된 요소는 빈 문자열로 교체됩니다.

배열을 검색하고 문자열만 바꾸는 경우 대체 문자열은 발견된 모든 값에 적용됩니다.

참고: 이 함수는 대소문자를 구분합니다. 대소문자를 구분하지 않고 검색하려면 str_ireplace() 함수를 사용하세요.

참고: 이 함수는 바이너리 안전합니다.

Syntax

str_replace(find,replace,string,count)
Parameters Description
find 필수입니다.
replace 찾을 값을 지정합니다. 필수입니다. find 의 값을 대체할 값을 지정합니다.
string 필수입니다. 검색할 문자열을 지정합니다.
count 선택 사항입니다. 대체 횟수를 계산하는 변수입니다.

기술 세부 정보

반환 값: 대체 값이 포함된 문자열 또는 배열을 반환합니다.
PHP 버전: 4+
업데이트 로그: PHP 5.0에서는 count 매개변수가 추가되었습니다.

PHP 4.3.3 이전에는 찾기 및 바꾸기 매개변수가 모두 배열인 경우 이 함수에 문제가 발생하여 교체 배열에서 내부 포인터가 바뀌지 않으면 빈 찾기 인덱스가 무시됩니다. 새 버전에서는 이 문제가 발생하지 않습니다.

PHP 4.0.5부터 대부분의 매개변수는 배열이 될 수 있습니다.

更多实例

实例 1

使用带有数组和 count 变量的 str_replace() 函数:

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

实例 2

使用带有需要替换的元素少于查找到的元素的 str_replace() 函数:

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

本函数将字符串 str 代入 haystack 字符串中,将所有的 needle 置换成 str。mlevine@adtraq.com (11-Apr-1999) 指出在 PHP 3.0.7 版,本函数有些 bug,而 nadeem@bleh.org (05-Jun-1999) 补充在 PHP 3.0.8 版本函数就回复正常了。 
使用范例 
下例将 %body% 以 black 取代 

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

格式: 

[@str_replace("要替换的旧内容", "要取代原内容的新字符", $被替换内容的变量名)] 
[@str_replace(array(&#39;旧1&#39;,&#39;旧2&#39;,&#39;旧3&#39;), array(&#39;新1&#39;,&#39;新2&#39;,&#39;新3&#39;), $被替换内容的变量名)] 
[@str_replace(array(&#39;旧1&#39;,&#39;旧2&#39;,&#39;旧3&#39;), &#39;新内容&#39;, $被替换内容的变量名)]

实例: 
多对一替换:想把内容字段里所有的e388a4556c0f65e1904146cc1a846bee94b3e26ee717c64999d7867364b1b4a3标签清除掉,替换成空 

[@str_replace(array(&#39;<p>&#39;,&#39;</p>&#39;), &#39;&#39;, $Content)]

一对一替换:想把内容字段里所有的0c6dc11e160d3b678d68754cc175188a标签换成e388a4556c0f65e1904146cc1a846bee 

[@str_replace(&#39;<br>&#39;, &#39;<p>&#39;, $Content)]

多对多替换:想把内容字段里的0c6dc11e160d3b678d68754cc175188a换成df250b2156c434f3390392d09b1c9563, 同时e388a4556c0f65e1904146cc1a846bee换f32b48428a809b51f04d3228cdf461fa,把94b3e26ee717c64999d7867364b1b4a3全清除 

위 내용은 문자열의 일부 문자를 바꾸는 PHP 함수 str_replace()(대소문자 구분)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.