치환이 아닌 교체

치환이 아닌 교체

QA

치환이 아닌 교체

본문

안녕하세요 형님들 php로 이것저것 해보는 사람입니다 

---------

$text = "사과보다 감자는 맛있다"

 

$a ="사과";

$b ="감자";

str_replace( $a , $b , $text);

---------

 

이렇게하면 사과가 감자로 치환되는건 이해를 했습니다

그런데 

사과는 감자로,  감자는 사과로  교체되려면 어떻게 해야될까요

 

호기심 천국에서 꼭 알려주세요 

이 질문에 댓글 쓰기 :

답변 2

저는 함수로 함 만들어 봤어요


<?php
$text = "사과보다 감자는 맛있다";
echo $text."<br>";
echo  multi_replace(array("사과","apple","감자","potato","apple","감자","potato","사과"), $text);
 
function multi_replace($Arr, $text){
  if(is_array($Arr)){
   $cnt = floor(count($Arr) / 2);
   
       for($i=0;$i<$cnt;$i++){
            $idx = $i * 2;
            $search = $Arr[$idx];
            $replace = $Arr[$idx+1];
        
            if($search !=""){
             $text = str_replace($search,$replace,$text);
            }
       }
  }
  return $text;
}
?>

그냥 간단하게 생각을 하면 일단

사과라는 단어를 과사 등의 연관 없는 단어로 바꾸고

감자를 사과 바꾸고 그 다음에 과사를 감자로 바꾸시면 되지 않을까요

더 좋은 방법도 있지만 간단히 생각나는 방법은 그거네요

답변을 작성하시기 전에 로그인 해주세요.
전체 123,162 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT