Я недавно поднимал похожую тему, это какбы в продолжение есть скрипт Код (Text): $path="in.txt"; $path1="file.txt"; $path2="file1.txt"; $by=file($path1); $b=file($path2); $a=file($path); // массив строк, которые можно обработать и //$poisk=array('к','а','m'); //$zamena=array('г','f','k'); $new= substr_replace($by,$b,$a); foreach($new as $key=>$value){ echo "<li>$key.$value</li>\n"; } $path - здесь список слов в столбик $path1 - столбиком буквы(кирилица) $path2 - столбиком буквы(латиница) мне нужно что бы все буквы, что во $path былы заменены на $path2, т.е. ищем с строке букву кирилицы и заменяем её на латиницу, чтобы в итоге все буквы были заменены, т.е. кот => rjn. а получается что в одном элементе меняется только одна буква и всё, хотя в описание к функции substr_replace сказанно, что замена будет всех что найдёт(как я понял) подскажите, пожалуйста, в чём ошибка или может это по другому нужно реализовать?
Ты уже задрал ей богу.)) чем тебе не нравится.. PHP: <?PHP ini_set('display_errors',1); error_reporting(E_ALL); setlocale(LC_ALL, 'ru_RU.CP1251', 'rus_RUS.CP1251', 'Russian_Russia.1251'); $a=array('dog saf saf','cat safas sfafa','map sfdF'); $poisk=array('d','a','m'); $zamena=array('а','с','т'); $new=str_ireplace($poisk,$zamena,$a); foreach($new as $value) { echo $value.'<br>'; } ?> Тут тоже 3 массива. Фактически отображение того , что происходит при помощи file. а file это и есть массивы строк. функция subtsr_replace заменяет часть строки целиковым значением и ее применение необходимо когда ты заменяешь позицию в строке, т.е. изначально не зная что в ней. strtr фактически тот же str_replace, только гораздо менее удобный. http://php.su/functions/?strtr http://php.su/functions/?substr-replace