О функции str_replace(array(

Статус
Закрыто для дальнейших ответов.

Volly

Well-Known Member
Регистрация
21.03.2012
Сообщения
833
Имеем php скрипт

<?
$a = 'aaa. ..aaa.. ..aaa.. .aaa';
$a = str_replace(array('. ..', '.. .', '.. ..'), '--', $a);
echo $a;
?>
Ожидаем получить aaa--aaa--aaa--aaa
Но получаем aaa--aaa.--aaa--aaa
Почему?
 

BaNru

Пацифизжу
Команда форума
Регистрация
13.11.2010
Сообщения
4 138
Наверное потому что он работает по порядку
Сначала проходит первый вариант
aaa. ..aaa.. ..aaa.. .aaa => aaa--aaa.--aaa.. .aaa
Потом второй
aaa--aaa.--aaa.. .aaa => aaa--aaa.--aaa--aaa
А третий никогда

Вообще подобное лучше заменить регуляркой
(\.+\s\.+)
 

Volly

Well-Known Member
Регистрация
21.03.2012
Сообщения
833
Точно! Чёт я сам этого не сообразил.
BaNru, спасибо!
 
Статус
Закрыто для дальнейших ответов.
Верх Низ