테스트 사이트 - 개발 중인 베타 버전입니다

치환이 아닌 교체 채택완료

김형김 7년 전 조회 2,429

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

---------

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

 

$a ="사과";

$b ="감자";

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

---------

 

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

그런데 

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

 

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

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
S
7년 전

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

</p>

<p><?php

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

echo $text."
";

echo  multi_replace(array("사과","apple","감자","potato","apple","감자","potato","사과"), $text);</p>

<p> </p>

<p>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);

            }

       }

  }</p>

<p>  return $text;

}</p>

<p>?></p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

김형김
7년 전
형님 이렇게까지나 ㅡ,.ㅡ;;

댓글을 작성하려면 로그인이 필요합니다.

7년 전

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

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

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

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

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인