Запуская str_replace() получаю неожиданный результат. Или думаю не логично?
Вроде бы простая задача: в текстах из разных источников заменить перевод строки/возврат каретки на "каноническое" написание "\r\n".
Сначала JS.
На
http://javascript.ru/php/str_replace уважаемым Kevin van Zonneveld предложен аналог PHP-функции str_replace().
Правомерна ли запись: var s = str_replace("A", "A", "A");
Я ожидал на выходе получить "A". Но имею зависание.
Теперь PHP. На
http://php.ru/manual/function.str-replace.html дан пример и сказано:
Обрабатывает сначала \r\n для избежания их повторной замены.
В моем тестовом примере для наглядности вместо "\r\n" использую "AB".
$s = "A123A456A789";
// при замене на A получаем результат: A123A456A789 ok!
// при замене на AB получаем результат: AAB123AAB456AAB789 !??
$order = array("AB", "A", "B");
$replace = "AB";
echo "исходная: $s<br>";
$s = str_replace($order, $replace, $s);
echo "результат: $s<br>";
Допустимо ли в $replace указывать такие же символы, что и в $order?