2012-11-12 1 views
1

문자열의 모든 문자를 반대 방향으로 바꾸려고하는데 다음 코드는 문자를 문자로만 대체하지만 작동하지 않습니다. ASCII 코드를 인식하지 못합니다.PHP에서 텍스트를 가로로 뒤집을 수있는 함수를 만들었지 만 무언가가 작동하지 않습니다.

도와주세요. 왜 그런지 말해 줄 수 있니? chr 함수를 사용해 보았지만 작동하지 않습니다. 그것은 아무것도 보여줍니다.

<?php 
function flip($v) 
{ 
    $flipped=""; 
    $size=strlen($v); 

    $array=str_split($v,1); 

    for($i=0;$i<$size;$i++) 
    { 
     switch($array[$i]) 
      { 
       case 'a': $flipped .= '\u0250'; 
          break; 
       case 'b' : $flipped .='q'; 
          break; 
       case 'c' : $flipped .='\u0254'; 
          break; 
       case 'd': $flipped .='p'; 
          break; 
       case 'e': $flipped .='\u01DD'; 
          break; 
       case 'f': $flipped .='\u025F'; 
          break; 
       case 'g' : $flipped .='\u0183'; 
          break; 
       case 'h': $flipped .='\u0265'; 
          break; 
       case 'i' : $flipped .='\u0131'; 
          break; 
       case 'j' : $flipped .='\u027E'; 
          break; 
       case 'k' : $flipped .='\u029E'; 
          break; 
       case 'l' : $flipped .='\u0283'; 
          break; 
       case 'm' : $flipped .='\u026F'; 
          break; 
       case 'n' : $flipped .='u'; 
          break; 
       case 'r' : $flipped .='\u0279'; 
          break; 
       case 't' : $flipped .='\u0287'; 
          break; 
       case 'v' : $flipped .='\u028C'; 
          break; 
       case 'w' : $flipped .='\u028D'; 
          break; 
       case 'y' : $flipped .='\u028E'; 
          break; 
       case '.' : $flipped .='\u02D9'; 
          break; 
       case '[' : $flipped .=']'; 
          break; 
       case '(' : $flipped .=')'; 
          break; 
       case '{' : $flipped .='}'; 
          break; 
       case '?' : $flipped .='\u00BF'; 
          break; 
       case '!' : $flipped .='\u00A1'; 
          break; 
       case "\'" : $flipped .=','; 
          break; 
       case '<' : $flipped .='>'; 
          break; 
       case '_' : $flipped .='\u203E'; 
          break; 
       case ';' : $flipped .='\u061B'; 
          break; 
       case '\u203F' : $flipped .='\u2040'; 
          break; 
       case '\u2045' : $flipped .='\u2046'; 
          break; 
       case '\u2234' : $flipped .='\u2235'; 
          break; 
       case '\r' : $flipped .='\n'; 
          break; 
       case ' ' : $flipped .=''; 
          break; 
      } 
    } 

return $flipped; 
} 

echo flip("abcdefghijklmnopqrst"); 
?> 

감사합니다 :

여기 내 코드입니다! 그들과 같은 htmlentity하는

+0

부품이 누락되었습니다. –

+0

@Louis H. PHP 코드를 아래로 스크롤하십시오. 아니면 어떤 부분을 말해? –

+0

이전에 함수 헤더를 표시하지 않았습니다. 지금은 괜찮아 보입니다. (아마도 잘못된 형식 일 것입니다). –

답변

2

변화, 함수의

case 'a': $flipped .= '&#592;'; 
break; 
case 'b' : $flipped .='q'; 
break; 
case 'c' : $flipped .='&#596;'; 
break; etc.... 
+0

대단히 감사합니다! –

+1

당신은 오신 것을 환영합니다. 변환에 도움이 필요한 경우 도움이 될 수있는 [링크] (http://www.fileformat.info/info/unicode/char/254/index.htm)를 참조하십시오. – itachi

+0

코드가있는 테이블을 어디에서 찾을 수 있습니까? 왜냐하면 숫자를 뒤집기위한 코드가 필요하고 제 기능을 완수하기 위해서입니다. 다시 한 번 감사드립니다! –