Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   str_replace в JS и PHP неправильно работает? (https://javascript.ru/forum/misc/45743-str_replace-v-js-i-php-nepravilno-rabotaet.html)

Маэстро 14.03.2014 15:22

str_replace в JS и PHP неправильно работает?
 
Запуская 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?

ksa 14.03.2014 15:24

Маэстро, причем тут "Общие вопросы Javascript"?

Маэстро 14.03.2014 16:05

Цитата:

Сообщение от ksa (Сообщение 302549)
Маэстро, причем тут "Общие вопросы Javascript"?

А что не так? "PHP", или "Общие вопросы"?
javascript.ru - мой любимый форум. И люди неплохие. И половина работает с PHP. Поэтому написал сюда.

ksa 17.03.2014 14:36

Цитата:

Сообщение от Маэстро
Поэтому написал сюда.

Для этого тут есть специальный раздел.
http://javascript.ru/forum/server/


Часовой пояс GMT +3, время: 06:00.