$result_str = "";
$main_text_len = strlen($main_text);
for($i = 0; $i < $main_text_len; $i++)
{
$c = ord($main_text[$i]);
if($c == 32 || $c == ord('-') || $c == ord('_') || $c == ord('–') || $c == ord('—'))
{
continue;
}
//теперь нам нужно сделать так, что это если это кириллическая буква, которая может быть заменена латинской, то мы заменим ее сразу сами
else if($с == ord('а') || $с == ord('А') || $c == ord('М') || $c == ord('К') || $c == ord('о') || $c == ord('О'))
{
$result_str .= chr($c - 127);
}
else if($с == ord('В'))
{
$result_str .= 'B';
}
else if($c == ord('е') || $c == ord('Е') || $c == ord('р') || $c == ord('Р'))
{
$result_str .= chr($c - 128);
}
else if($с == ord('і'))
{
$result_str .= 'i';
}
else if($с == ord('І'))
{
$result_str .= 'I';
}
else if($с == ord('Н'))
{
$result_str .= 'H';
}
else if($c == ord('с') || $c == ord('С'))
{
$result_str .= chr($c - 142);
}
else if($с == ord('Т'))
{
$result_str .= 'T';
}
else if($с == ord('у'))
{
$result_str .= 'y';
}
else if($c == ord('х') || $c == ord('Х'))
{
$result_str .= chr($chr - 125);
}
else if($c == ord('г') || $c == ord('ґ'))
{
$result_str .= 'r';
}
else if($с == ord('ё'))
{
$result_str .= 'e';
}
else if($с == ord('Ё'))
{
$result_str .= 'E';
}
else if($с == ord('З'))
{
$result_str .= '3';
}
else if($с == ord('п'))
{
$result_str .= 'n';
}
else if(($c >= 33 && $c <= 44) || ($c >= 46 && $c <= 94) || ($c >= 97 && $c <= 122) || ($c >= 124 && $c <= 126) || $с == 165 || $с == 170 || $с == 171 || $с == 173 ||
$с == 175 || $с == 185 || $с == 186 || $с == 187 || $с == 191 || $с == 193 || $с == 195 || $с == 196 || $с == 198 || $с == 200 || $с == 201 || $с == 203 || $с == 207 ||
$с == 211 || $с == 212 || ($c >= 214 && $c <= 223) || $с == 225 || $с == 226 || $с == 228 || ($с >= 230 && $c <= 237) || $с == 242 || $с == 244 || ($c >= 246 && $c <= 255) || print($c . '<br>')) //принт здесь для условия не нужен, я просто хотел убедиться, что все условия выполняются
{
$result_str .= $main_text[$i];
}
else
{
echo $main_text[$i] . " — " . $c . "<br>";
$result_str .= '#';
}
}
И дело в том, что каким-то образом некоторые символы, например 'т' (242) или 'м' (236) не подходят под условие, хотя они явно там есть. При этом всем, принт в конце условия выводит именно эти номера (236, 242). Как так?