치환이 아닌 교체
본문
안녕하세요 형님들 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;
}
?>
그냥 간단하게 생각을 하면 일단
사과라는 단어를 과사 등의 연관 없는 단어로 바꾸고
감자를 사과 바꾸고 그 다음에 과사를 감자로 바꾸시면 되지 않을까요
더 좋은 방법도 있지만 간단히 생각나는 방법은 그거네요
답변을 작성하시기 전에 로그인 해주세요.