Выполнить замену всех строк

275
12 марта 2017, 08:07

Здравствуйте. Есть скрипт, который находит нужные строки, после он должен найти каждую совпавшую строку в тексте, и в случае нахождения - заменить на другой текст:

Набросал такой код:

foreach ($a_links2 as & $value2) {
    echo $value2->src; //строки которые нужно заменить
    $text = str_replace($value2->src, "КАРТИНКА", $article['content']);
}
echo $text;

В итоге получается что заменяет только последнюю найденную строку.

Answer 1

Попробуйте следующий вариант, должен отработать правильно:

$text = $article['content'];
foreach ($a_links2 as & $value2) {
    $text = str_replace($value2->src, "КАРТИНКА", $text);
}
echo $text;
Answer 2

Правильно, вы же указываете каждую итерацию $text = (Присвоить) а не добавить к существующей переменной.

 $text .= str_replace($value2->src, "КАРТИНКА", $article['content']);
READ ALSO
CAPTCHA или ограничение количества попыток входа? [требует правки]

CAPTCHA или ограничение количества попыток входа? [требует правки]

Зачем нужно делать ограничение количества попыток входа в аккаунт, которое дополнительно нагружает систему (пусть и слегка), если можно просто...

277
Как получить список временных зон на разных языках (PHP)?

Как получить список временных зон на разных языках (PHP)?

При регистрации пользователя хочу предложить выбор его временной зоны (часового пояса)Но при этом список временных зон показывать на родном...

321
PDO не работает запрос

PDO не работает запрос

Проблема заключается в том, что пересмотрел множество постов здесь же, и на phpnet смотрел в первую очередь, но мой код ни в какую не хочет находить...

301