2012-03-05 5 views
-1

예에 차이를 제거,이 두 개의 문자열을 비교 :PHP : 두 개의 문자열

Hello Jake, blah blah blah. Sent at 1:23 AM 

Hello Ben, blah blah blah. Sent at 3:12 PM 

는 생산해야 :

Hello [variable], blah blah blah. Sent at [variable] 

나는 새에 비해 이전을 표시 할 필요가 없습니다 차이점을 제거하십시오 (이 경우 "[변수]"텍스트로 대체하십시오).

+2

당신은 무료로 자신의 시도를 해결하는 데 도움이 될 것입니다 문자열로 다시 만들기 [변수]를 사용 내파()로 대체하지만, –

+0

가능한 중복에 대한 코드를 작성합니다 [PHP에서 두 문자열 사이의 차이점을 강조] (http://stackoverflow.com/questions/321294/highlight-the-difference-between-two-strings-in- php) –

답변

4

배열로 공간 분할 (\ s). 값이 일치하지 말아 때 비교하는 배열을 통해

루프,

+2

"Hello fthaluhft9awt7 7f8aw78t jaw78f87tj aw, blah blah blah. 3:12 PM에 보낸거야?" –

+0

['array_diff_assoc()'] (http://www.php.net/manual/en/function.array-diff-assoc.php), Andrew?를 사용하는 대신에 두 배열을 반복 할 것입니다. –

+1

@Sarcsam - array_intersect()와 같은 함수를 사용하여 길이가 다른 배열을 계속 비교할 수 있습니다. –

0
$string1 = explode(" ","Hello Jake, blah blah blah. Sent at 1:23 AM"); 
$string2 = explode(" ","Hello Ben, blah blah blah. Sent at 3:12 PM"); 
$finalString = explode(" ","Hello Ben, blah blah blah. Sent at 3:12 PM"); 


if($string1 > $string2) 
{ 
$length = count($string2); 
} 
else 
{ 
$length = count($string1); 
} 

for($i = 0; $i < $length; $i++) 
{ 
if($string1[i] != $string2[i]) 
{ 
$finalString[i] = "[variable]"; 
} 
} 

$finalString = implode(" ", $finalString); 
echo $finalString; 
관련 문제