>백엔드 개발 >PHP 문제 >PHP에서 문자열의 모든 문자를 바꾸는 방법

PHP에서 문자열의 모든 문자를 바꾸는 방법

青灯夜游
青灯夜游원래의
2022-10-14 19:08:5220256검색

3 대체 방법: 1. substr_replace()를 사용하여 문자열의 시작 부분부터 시작하는 모든 문자를 대체합니다. 구문은 "substr_replace(원래 문자열, 대체 값 지정, 0)"입니다. 2. 모든 문자를 바꾸려면 str_replace()를 사용하세요. 구문은 "str_replace(원래 문자열, 지정된 대체 값, 원래 문자열)"입니다. 3. 모든 문자를 바꾸려면 str_ireplace()를 사용하세요. 구문은 "str_ireplace(원래 문자열, 지정된 대체 값, 원래 문자열)"입니다.

PHP에서 문자열의 모든 문자를 바꾸는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, DELL G3 컴퓨터

방법 1: substr_replace() 함수를 사용

substr_replace() 함수를 사용하여 다른 문자열과 문자열.

substr_replace(string,replacement,start,length)
  • substr_replace() 대체를 사용하여 문자열 사본에서 시작 및 선택적 길이 매개변수로 규정된 하위 문자열을 대체합니다.

  • start가 양수이면 문자열의 시작 위치부터 교체가 시작됩니다. start가 음수이면 문자열의 마지막 시작 위치부터 교체가 시작됩니다.

  • 길이 매개변수가 설정되고 양수이면 문자열에서 대체된 하위 문자열의 길이를 나타냅니다. 음수로 설정되면 대체될 부분 문자열의 끝에서부터 대체될 문자열의 끝 부분부터의 문자 수를 나타낸다. 이 매개변수가 제공되지 않으면 기본값은 strlen(string)(문자열 길이)입니다. 물론 길이가 0이면 이 함수의 기능은 문자열의 시작 위치에 대체를 삽입하는 것입니다.

매개변수 description
string 필수입니다. 확인할 문자열을 지정합니다.
교체 필수입니다. 삽입할 문자열을 지정합니다.
start 필수입니다. 문자열에서 대체를 시작할 위치를 지정합니다.
  • 양수 - 문자열의 지정된 위치에서 시작
  • 음수 - 문자열 끝의 지정된 위치에서 시작
  • 0 - 문자열의 첫 번째 문자에서 시작
length 선택사항. 대체할 문자 수를 지정합니다. 기본값은 문자열 길이와 동일합니다.
  • 양수 - 교체할 문자열의 길이
  • 음수 - 문자열 끝에서부터 교체할 문자 수
  • 0 - 교체 대신 삽입

예: 모두 교체

함수의 세 번째 매개변수만 0으로 설정하면 되고 세 번째 매개변수는 원래 문자열 길이로 설정하거나 생략하여 모든 문자를 대체합니다

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$str = &#39;hello world!&#39;;
echo "原字符串:".$str."<br><br>";
$replace = &#39;ABCDEFGHIJKL&#39;;
echo "替换全部字符字符:".substr_replace($str, $replace,0)."<br>";
?>

PHP에서 문자열의 모든 문자를 바꾸는 방법

방법 2/방법 3: str_ireplace() 및 str_replace() 함수

str_ireplace() 및 str_replace는 모두 새 문자열을 사용하여 원래 문자열에서 지정된 하위 문자열을 대체합니다. 대체할 하위 문자열이 원래 문자열인 경우 하위 문자열을 대체할 수 있습니다. 모든 문자.

str_ireplace()와 str_replace의 구문은 비슷합니다. 차이점은 str_replace는 대소문자를 구분하지만 str_ireplace()는 대소문자를 구분하지 않는다는 것입니다

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

示例:替换字符串中的所有字符

只需要将第一个参数设置为原字符串值即可。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$str = &#39;hello world!&#39;;
echo "原字符串:".$str."<br><br>";
$replace = &#39;ABCDEFGHIJKL&#39;;
echo "替换全部字符字符:".str_replace($str, $replace, $str)."<br>";
echo "替换全部字符字符:".str_ireplace($str, $replace, $str)."<br>";
?>

PHP에서 문자열의 모든 문자를 바꾸는 방법

扩展知识:替换字符串还可利用正则替换函数preg_replace() 和preg_filter()

preg_replace() 和preg_filter()函数都可以执行正则表达式的搜索和替换,不同的是 preg_filter() 函数只返回匹配成功的结果,而 preg_replace() 返回所有结果,不管是否匹配成功。

preg_replace() 和preg_filter()函数的语法类似:

preg_replace($pattern, $replacement, $subject [, $limit = -1 [, &$count]])
preg_filter($pattern, $replacement, $subject [, $limit = -1 [, &$count]])

搜索 $subject 中匹配 $pattern 的部分, 以 $replacement 进行替换。

参数说明如下:

  • $pattern:要搜索的模式,可以使一个字符串或字符串数组;

  • $replacement:用于替换的字符串或字符串数组。如果这个参数是一个字符串,并且 $pattern 是一个数组,那么所有的模式都使用这个字符串进行替换。如果 $pattern 和 $replacement 都是数组,每个 $pattern 使用 $replacement 中对应的元素进行替换。如果 $replacement 中的元素比 $pattern 中的少,多出来的 $pattern 使用空字符串进行替换。

  • $subject:要进行搜索和替换的字符串或字符串数组,如果 $subject 是一个数组,搜索和替换回在 $subject 的每一个元素上进行, 并且返回值也会是一个数组。

  • $limit:可选参数,每个模式在每个 $subject 上进行替换的最大次数。默认是 -1(无限)。

  • $count:可选参数,如果指定,将会被填充为完成的替换次数。

示例:

preg_filter()和preg_replace()利用正则来替换字符串

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);
$subject = array(&#39;1&#39;, &#39;a&#39;, &#39;2&#39;, &#39;b&#39;, &#39;3&#39;, &#39;A&#39;, &#39;B&#39;, &#39;4&#39;); 
$pattern = array(&#39;/\d/&#39;, &#39;/[a-z]/&#39;, &#39;/[1a]/&#39;); 
$replace = array(&#39;A:$0&#39;, &#39;B:$0&#39;, &#39;C:$0&#39;); 
 
echo "preg_filter 返回值:\n";
var_dump(preg_filter($pattern, $replace, $subject)); 
 
echo "preg_replace 返回值:\n";
var_dump(preg_replace($pattern, $replace, $subject)); 
?>

PHP에서 문자열의 모든 문자를 바꾸는 방법

推荐学习:《PHP视频教程

위 내용은 PHP에서 문자열의 모든 문자를 바꾸는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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