как в русском тексте заменить похожие буквы на английские с виду похожие? делали мне такой код, не работает: PHP: <?PHP $filename = "file.txt"; $tmp_name = "tmp.txt"; $to="уехіаросКЕНХІАРОСМТ"; $from = "yexiapocKEHXIAPOCMT"; $in_file = fopen($filename, "r"); $out_file = fopen($tmp_name, "w+"); while (!feof($in_file)) { $tmp = fread($in_file, 1); for ($i=0; $i<strlen($from); $i++) if ($tmp==$from[$i]) $tmp=$to[$i]; fwrite($out_file, $tmp); } fclose($in_file); fclose($out_file); unlink($filename); rename($tmp_name, $filename); ?> по примерам в сети сделал такой, но не преобразует он текст PHP: <?php header("Content-Type: text/html; charset=utf-8"); function _replace(&$str, &$trans) { for ($i = 0; $i < strlen($str); $i++) if (rand(0,1) and isset($trans[$str[$i]])) $str[$i] = $trans[$str[$i]]; } $trans = array( 'у' => 'y', 'е' => 'e', 'а' => 'a', 'о' => 'o', 'У' => 'Y', 'Е' => 'E', 'А' => 'A', 'О' => 'O', 'Р' => 'P', 'р' => 'p', 'к' => 'k', 'К' => 'K', ); $str = 'aodtftyhкыепо'; _replace($str, $trans); echo $str; ?>
GAiN , попробуй вот так Code: <?php $str = 'aodtftyhкыепо'; $trans = array( 'у' => 'y', 'е' => 'e', 'а' => 'a', 'о' => 'o', 'У' => 'Y', 'Е' => 'E', 'А' => 'A', 'О' => 'O', 'Р' => 'P', 'р' => 'p', 'к' => 'k', 'К' => 'K', ); for ($i = 0; $i < strlen($str); $i++) if (isset($trans[$str[$i]])) { $str[$i]=$trans[$str[$i]]; } echo $str; ?> а потом оберни это всё в функцию. зы: у тебя там в вообще ранд стоит, бле.
Не просто так стоит, однако. Задача видимо такая. Так получить псевдоуникальный текст проще (вариантов больше). Для спама видимо. В php не очень разбираюсь, но кажется задействован rand несовсем правильно.
Вы уже задавали этот вопрос, на него уже был дан исчерпывающий ответ. Зачем еще одну тему городить? /showpost.php?p=3654009&postcount=22038
для обхода программы антиплагиат, текст с большим объёмом, может из за этого и не работают скрипты выше нивкакую
А я вам даже больше скажу - они и не должны работать для антиплагиата, который эту тему с подменой букв палит уже лет пять, наверное.