I am trying to replace every character from a string with it’s opposite but the following code is replacing only chars with chars but it does not recognize ASCII codes.
Can you please help me? Can you please tell me why? I have tried using the chr function but it doesn’t work. It shows me nothing.
Here is my code:
<?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");
?>
Thank you!
change them to htmlentity like,