>백엔드 개발 >PHP 문제 >PHP에서 특정 길이의 하위 문자열을 * 기호로 변환하는 방법

PHP에서 특정 길이의 하위 문자열을 * 기호로 변환하는 방법

青灯夜游
青灯夜游원래의
2021-08-06 19:07:313174검색

이전 글에서는 문자열에서 첫 번째 또는 마지막 부분 문자열을 얻은 다음 해당 부분 문자열이 존재하는지 확인하는 대소문자 구분 방법을 소개했습니다. 필요한 경우 "PHP 문자" 문자열 학습을 참조하세요. 하위 문자열이 존재하는지 감지합니다(대소문자 구분) 》. 이번에는 문자열 대체에 대해 이해하고 PHP를 사용하여 특정 길이의 하위 문자열을 * 기호로 바꾸는 방법을 소개하겠습니다.

PHP는 문자열 교체를 수행할 수 있는 여러 함수를 제공하지만 교체 방법은 다릅니다. 일부는 교체해야 할 하위 문자열을 직접 제공하고 일부는 교체 시작 위치와 교체 길이를 제공합니다. 오늘은 후자의 방법에 대해 알아보겠습니다.

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

<?php
$str = &#39;hello,world,hello,world&#39;;
$replace = &#39;*&#39;;
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”,那对不对呢,我们来看看输出结果:

PHP에서 특정 길이의 하위 문자열을 * 기호로 변환하는 방법

是的,没错。在上例中,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

  • 예 예 , 좋아요. 위의 예에서 substr_replace() 함수는 첫 번째 문자부터 시작하는 $str 문자열, 5자 하위 문자열 "hello" 및 첫 번째 문자부터 시작하는 하위 문자열을 분리합니다. 7자부터 시작하여 길이가 5자인 하위 문자열 "world"가 * 숫자로 대체됩니다.
  • 좋아, 이제 특정 길이의 하위 문자열을 * 기호로 바꾸는 방법을 이해했으므로 이 함수를 구현하는 substr_replace() 함수를 살펴보겠습니다.

substr_replace($string,$replacement,$start,$length) 함수는 세 가지 필수 매개변수인 $string, $replacement(교체)를 허용합니다. 값) 및 $start(대체가 시작되는 위치), 생략 가능한 매개변수 $length(대체할 문자 수).


substr_replace() 함수는 $start$length로 정규화된 하위 문자열이 있는 문자열 $string의 복사본에서 사용할 수 있습니다. 대체할 매개변수$replacement.

간단히 말하면 $start 위치부터 시작하는 $replacement 값을 사용하여 문자열 위치는 0PHP에서 특정 길이의 하위 문자열을 * 기호로 변환하는 방법부터 시작함) 를 교체하세요. > $length문자 수.

$start에는 세 가지 값 상황이 있습니다.

    는 양수이고 교체는 $start 위치에서 시작됩니다. $string.

    이 0이면 대체는 $string의 첫 번째 문자부터 시작됩니다. 🎜🎜🎜🎜🎜은 음수이면 $string의 마지막 $start 위치부터 대체가 시작됩니다. 🎜🎜🎜🎜$length 매개변수에는 4개의 값이 있습니다. 🎜
      🎜🎜는 양수입니다. 이는 하위 문자가 대체된다는 의미입니다. 문자열의 길이입니다. 🎜🎜🎜🎜은 음수로, 대체할 하위 문자열 끝부터 $string 끝까지의 문자 수를 의미합니다. 🎜🎜🎜🎜이 0이면 substr_replace() 함수에 삽입 기능이 있으며 $start 위치에 $replacement를 삽입합니다. 🎜🎜🎜🎜🎜이 매개변수를 생략하면 기본값은 strlen(string)(문자열의 길이)이며 $start 위치부터 시작하는 전체 하위 문자열을 대체합니다. 🎜🎜🎜
      <?php
      $str = &#39;hello,world,hello,world&#39;;
      $replace = &#39;*&#39;;
      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 문자열 처리(옥소녀심경편)🎜"을 읽어보시길 추천합니다. 무료입니다~ 와서 배워보세요! 🎜

    위 내용은 PHP에서 특정 길이의 하위 문자열을 * 기호로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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