1

文字列のすべての文字を反対の文字に置き換えようとしていますが、次のコードは文字のみを文字に置き換えていますが、ASCII コードを認識しません。

手伝ってくれませんか?理由を教えてください。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");
?>

ありがとうございました!

4

1 に答える 1

2

それらを次のようなhtmlentityに変更します。

case 'a': $flipped .= '&#592;';
break;
case 'b' : $flipped .='q';
break;
case 'c' : $flipped .='&#596;';
break; etc....
于 2012-11-12T16:25:02.997 に答える