이전 글에서는 문자열에서 첫 번째 또는 마지막 부분 문자열을 얻은 다음 해당 부분 문자열이 존재하는지 확인하는 대소문자 구분 방법을 소개했습니다. 필요한 경우 "PHP 문자" 문자열 학습을 참조하세요. 하위 문자열이 존재하는지 감지합니다(대소문자 구분) 》. 이번에는 문자열 대체에 대해 이해하고 PHP를 사용하여 특정 길이의 하위 문자열을 * 기호로 바꾸는 방법을 소개하겠습니다.
PHP는 문자열 교체를 수행할 수 있는 여러 함수를 제공하지만 교체 방법은 다릅니다. 일부는 교체해야 할 하위 문자열을 직접 제공하고 일부는 교체 시작 위치와 교체 길이를 제공합니다. 오늘은 후자의 방법에 대해 알아보겠습니다.
다음 예를 살펴보겠습니다.
<?php $str = 'hello,world,hello,world'; $replace = '*'; echo substr_replace($str, $replace, 0,5)."<br>"; echo substr_replace($str, $replace, 6,5)."<br>"; ?>
이 코드를 보면 무엇을 출력할 것 같나요? "*,world,hello,world
" 및 "hello,*,hello,world
"가 출력되어야 합니까? 출력을 살펴보겠습니다. *,world,hello,world
”和“hello,*,hello,world
”,那对不对呢,我们来看看输出结果:
是的,没错。在上例中,substr_replace()函数分别将字符串$str
从第一个字符开始,有5个字符长度的子串“hello
”和从第7个字符开始,有5个字符长度的子串“world
”替换成了*
号。
好了,了解了如何将某长度的子串换成*号,下面我们来了解一下实现这个功能的函数substr_replace()。
substr_replace($string,$replacement,$start,$length)
函数接受了三个必需参数$string
、$replacement
(替换值)和$start
(替换开始的位置),一个可省略的参数$length
(要替换的字符数目)。
substr_replace()函数可以在字符串 $string
的副本中将由 $start
和 $length
参数限定的子字符串使用 $replacement
进行替换。
简单来说,就是使用$replacement
值从$start
位置开始(注,字符串位置起始于 0),替换$length
数目的字符。
$start
有三种取值情况:
为正数,替换将从 $string 的 $start 位置开始。
为0 ,替换将从 $string 的第一个字符处开始
为负数,替换将从 $string 的倒数第 $start 个位置开始。
$length
参数有四种取值情况:
为正数,就表示被替换的子字符串的长度。
为负数,就表示待替换的子字符串结尾处距离 $string 末端的字符个数。
为 0,那么substr_replace()函数就有了插入功能,会将 $replacement
插入$start
$str
문자열, 5자 하위 문자열 "hello
" 및 첫 번째 문자부터 시작하는 하위 문자열을 분리합니다. 7자부터 시작하여 길이가 5자인 하위 문자열 "world
"가 *
숫자로 대체됩니다. 좋아, 이제 특정 길이의 하위 문자열을 * 기호로 바꾸는 방법을 이해했으므로 이 함수를 구현하는 substr_replace() 함수를 살펴보겠습니다.
substr_replace($string,$replacement,$start,$length)
함수는 세 가지 필수 매개변수인 $string
, $replacement
(교체)를 허용합니다. 값) 및 $start
(대체가 시작되는 위치), 생략 가능한 매개변수 $length
(대체할 문자 수).
substr_replace() 함수는 $start
및 $length
로 정규화된 하위 문자열이 있는 문자열 $string
의 복사본에서 사용할 수 있습니다. 대체할 매개변수< code>$replacement.
간단히 말하면 $start
위치부터 시작하는 $replacement
값을 사용하여 문자열 위치는 0부터 시작함) 를 교체하세요. > $length
문자 수.
$length
매개변수에는 4개의 값이 있습니다. 🎜$start
위치에 $replacement
를 삽입합니다. 🎜🎜🎜🎜🎜이 매개변수를 생략하면 기본값은 strlen(string)(문자열의 길이)이며 $start 위치부터 시작하는 전체 하위 문자열을 대체합니다. 🎜🎜🎜<?php $str = 'hello,world,hello,world'; $replace = '*'; echo substr_replace($str, $replace, 0,-5)."<br>"; echo substr_replace($str, $replace, -5,5)."<br>"; echo substr_replace($str, $replace, 6)."<br>"; ?>
위 내용은 PHP에서 특정 길이의 하위 문자열을 * 기호로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!