>  기사  >  백엔드 개발  >  PHP는 주어진 하위 문자열을 * 기호로 바꾸는 함수를 교묘하게 사용합니다(대소문자 구분 안 함).

PHP는 주어진 하위 문자열을 * 기호로 바꾸는 함수를 교묘하게 사용합니다(대소문자 구분 안 함).

青灯夜游
青灯夜游원래의
2021-08-10 14:35:233296검색

이전 글에서는 대소문자를 구분하여 특정 하위 문자열을 다른 값으로 대체할 수 있는 문자열 대체 방법을 소개했습니다. 관심 있는 경우 링크를 클릭하여 → "교체 방법"을 확인하실 수 있습니다. PHP *(대소문자 구분) 》로 지정된 하위 문자열. 이번에는 문자열에서 주어진 하위 문자열을 바꾸는 또 다른 방법을 소개하겠습니다. 필요할 경우 참조할 수 있습니다. 위의 문자열은 정확히 동일할 수 없으므로 교체가 수행되지 않습니다.

하지만 때로는 문자열 교체를 수행할 때 너무 엄격할 필요가 없고 문자의 대소문자를 무시할 수 있는 경우도 있습니다. 오늘은 대체문자의 대소문자를 구분하지 않는 방법을 소개하겠습니다.

다음 예를 살펴보겠습니다.

<?php
$str = &#39;hello,world,Hello,World&#39;;
$replace = &#39;*&#39;;
$search1 = &#39;hello&#39;;
$search2 = &#39;world&#39;;
echo str_ireplace($search1, $replace, $str)."<br>";
echo str_ireplace($search2, $replace, $str)."<br>";
?>

위 코드를 관찰하고 $str 문자열 "hello,world,Hello,World"에서 "hello" /code>” 및 “<code>world” 하위 문자열은 * 숫자로 대체됩니다. 그러나 요구 사항을 충족하는 $str 문자열에는 두 가지 유형이 있습니다. 하나는 완전히 일치하는 하위 문자열(대소문자 일치)이고 다른 하나는 불완전한 일치(대소문자 불일치)입니다.

그러나 우리는 대소문자를 무시할 수 있는 str_ireplace() 함수를 사용하고 있기 때문에 요구 사항을 충족하는 문자열 $str에서 두 개의 하위 문자열 "hello" 및 "Hello", "world" 및 "World"를 대체합니다. *로 대체됩니다. 따라서 출력 결과는 다음과 같습니다. hello,world,Hello,World”中的“hello”和“world”子串替换成*号。但$str字符串中符合要求的有两种:一种是完全匹配(大小写一致)的子串,一种是不完全匹配(大小写不一致)的。

但因为我们使用的是str_ireplace()函数,该函数可以忽略大小写,因此会将字符串$str中符合要求的两种子串“hello”和“Hello”、“world”和“World”,都替换为*号。所以输出结果为:

PHP는 주어진 하위 문자열을 * 기호로 바꾸는 함수를 교묘하게 사용합니다(대소문자 구분 안 함).

是不是很简单,下面我们来了解一下这个str_ireplace()函数。

str_ireplace($search,$replace,$string,$count)函数可以忽略大小写的替换字符串中的一些字符,该函数接受的参数和str_replace()函数一样,前3个参数是必需的(不可省略),后一个参数$count是可省略的(但设置了,可以获取替换次数)。

参数$count

PHP는 주어진 하위 문자열을 * 기호로 바꾸는 함수를 교묘하게 사용합니다(대소문자 구분 안 함).

아주 간단하지 않나요? str_ireplace() 함수를 살펴보겠습니다.

PHP는 주어진 하위 문자열을 * 기호로 바꾸는 함수를 교묘하게 사용합니다(대소문자 구분 안 함).str_ireplace($search,$replace,$string,$count) 이 함수는 대소문자를 무시하고 문자열의 일부 문자를 바꿀 수 있습니다. 이 함수에서 허용하는 매개변수는 str_replace() 함수와 동일합니다. 앞의 3개의 매개변수는 필수(생략불가)이며, 뒤의 매개변수 $count는 생략가능(단, 설정하면 대체횟수를 얻을 수 있다).

매개변수 $count는 대체 횟수를 계산하는 변수를 허용할 수 있습니다. 이 매개변수를 설정하면 총 대체 횟수를 알 수 있습니다.

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$str = &#39;hello,world,Hello,World&#39;;
$replace = &#39;*&#39;;
$search1 = &#39;hello&#39;;
$search2 = &#39;world&#39;;
echo str_ireplace($search1, $replace, $str, $i)."<br>";
echo  "一共执行了  $i"." 次替换<br><br>";

echo str_ireplace($search2, $replace, $str, $i)."<br>";
echo  "一共执行了  $i"." 次替换<br><br>";
?>
출력 결과:

설명: PHP는 주어진 하위 문자열을 * 기호로 바꾸는 함수를 교묘하게 사용합니다(대소문자 구분 안 함).

str_ireplace() 및 str_replace() 함수는 대체해야 할 부분 문자열을 직접 제공하므로 두 함수 모두 한자를 대체하는 데 사용할 수 있습니다.

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$str = &#39;你好,欢迎来到这里!&#39;;
$replace = &#39;*&#39;;
$search1 = &#39;你好&#39;;
$search2 = &#39;欢迎&#39;;
echo str_ireplace($search1, $replace, $str)."<br>";
echo str_replace($search2, $replace, $str)."<br>";
?>

출력 결과:

PHP는 주어진 하위 문자열을 * 기호로 바꾸는 함수를 교묘하게 사용합니다(대소문자 구분 안 함).

순수 중국어 문자열은 거의 동일하지만 중국어와 영어가 혼합된 문자열은 대소문자를 구분하므로 필요에 따라 어느 것을 사용할지 선택할 수 있습니다.

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$str = &#39;你好,欢迎来到PHP中文网!&#39;;
$replace = &#39;这里&#39;;
$search1 = &#39;PHP中文网&#39;;
$search2 = &#39;php中文网&#39;;
echo str_ireplace($search1, $replace, $str)."<br>";
echo str_replace($search2, $replace, $str)."<br>";
?>
출력 결과:

그렇습니다. 더 알고 싶다면 여기를 클릭하세요. → →🎜php 비디오 튜토리얼🎜🎜🎜마지막으로 클래식 강좌인 "🎜PHP 문자열 처리(옥소녀심경편)🎜"을 읽어보시길 추천합니다. 무료입니다~ 와서 배워보세요! 🎜

위 내용은 PHP는 주어진 하위 문자열을 * 기호로 바꾸는 함수를 교묘하게 사용합니다(대소문자 구분 안 함).의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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