>백엔드 개발 >PHP 튜토리얼 >지정된 시간을 바꾸기 위해 str_replace를 구현하는 PHP 메소드

지정된 시간을 바꾸기 위해 str_replace를 구현하는 PHP 메소드

墨辰丷
墨辰丷원래의
2018-05-22 16:21:391857검색

본 글에서는 참고값이 좋은 PHP str_replace를 이용하여 지정된 횟수만큼 바꾸는 방법을 주로 소개합니다. 아래 에디터로 살펴보겠습니다

PHP str_replace 메소드, 대체 문자열

형식은 다음과 같습니다.

mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] ) 

search 찾을 대상 값은 needle 입니다. 배열은 여러 대상을 지정할 수 있습니다.

대체 검색 대체 값입니다. 배열을 사용하여 여러 대체 항목을 지정할 수 있습니다.

subject 교체를 수행할 배열 또는 문자열입니다. 그것은 건초 더미입니다. 주제가 배열인 경우 대체 작업은 전체 주제를 순회하며 반환 값도 배열이 됩니다.

count 지정된 경우 해당 값은 교체가 발생한 횟수로 설정됩니다. 즉, 총 몇 번의 교체가 발생했는지입니다.

설명:

검색 및 바꾸기가 배열인 경우 str_replace()는 제목에 대한 매핑 교체를 수행합니다.

대체 값의 개수가 검색 값의 개수보다 적으면 추가 대체를 위해 빈 문자열이 사용됩니다.

검색이 배열이고 바꾸기가 문자열인 경우 검색의 각 요소 바꾸기에는 항상 이 문자열이 사용됩니다.

str_replace 대체 방법은 대소문자를 구분합니다.

예:

<?php 
$str = &#39;abcdefgh&#39;; 
echo str_replace(&#39;abc&#39;, &#39;123&#39;, $str); // 123defgh  
$str = &#39;123456&#39;; 
$search = array(1, 2, 3, 4, 5, 6); 
$replace = array(&#39;a&#39;, &#39;b&#39;, &#39;c&#39;, &#39;d&#39;, &#39;f&#39;, &#39;g&#39;); 
echo str_replace($search, $replace, $str); // abcdefg  
$arr = array(&#39;abc&#39;,&#39;bac&#39;,&#39;cba&#39;); 
$result = str_replace(&#39;b&#39;, &#39;B&#39;, $arr, $count); 
print_r($result); // Array ( [0] => aBc [1] => Bac [2] => cBa ) 
echo $count;   // 3 共替换了3次 
?>

문자열을 대체하려면 str_replace를 사용하는 것이 더 편리하지만 검색과 일치하는 모든 값은 대체 값으로 대체됩니다. 지정된 횟수만큼 교체하려는 경우 이 방법을 구현할 수 없습니다.

예: user_order_list user/order_list

<?php 
$str = &#39;user_order_list&#39;; 
echo str_replace(&#39;_&#39;, &#39;/&#39;, $str); // user/order/list 
?>

로 대체됩니다. 지정된 횟수만큼 대체하는 방법은 일반적인 preg_replace 메소드를 사용하여 구현할 수 있습니다.

<?php 
/** 
 * 对字符串执行指定次数替换 
 * @param Mixed $search  查找目标值 
 * @param Mixed $replace 替换值 
 * @param Mixed $subject 执行替换的字符串/数组 
 * @param Int  $limit  允许替换的次数,默认为-1,不限次数 
 * @return Mixed 
 */ 
function str_replace_limit($search, $replace, $subject, $limit=-1){ 
  if(is_array($search)){ 
    foreach($search as $k=>$v){ 
      $search[$k] = &#39;`&#39;. preg_quote($search[$k], &#39;`&#39;). &#39;`&#39;; 
    } 
  }else{ 
    $search = &#39;`&#39;. preg_quote($search, &#39;`&#39;). &#39;`&#39;; 
  } 
  return preg_replace($search, $replace, $subject, $limit); 
} 
?>

예:

<?php 
$str = &#39;user_order_list&#39;; 
echo str_replace_limit(&#39;_&#39;, &#39;/&#39;, $str, 1); // user/order_list  
$arr = array(&#39;abbc&#39;,&#39;bbac&#39;,&#39;cbba&#39;); 
$result = str_replace_limit(&#39;b&#39;, &#39;B&#39;, $arr, 1); 
print_r($result); // Array ( [0] => aBbc [1] => Bbac [2] => cBba ) 
?>

관련 권장 사항:

javascript replace() 매개 변수 사용 기능입니다 (세부 사항은 모든 사람을 위한 해석)

pushState 및 replaceState

str_replace 사용 단계에 대한 설명 함수 정의 및 사용법 요약

위 내용은 지정된 시간을 바꾸기 위해 str_replace를 구현하는 PHP 메소드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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