dllweb
@dllweb

Как заменить фразы в исходной строке?

Всем привет, интересует вопрос, как поменять в исходном тексте некоторые фразы? Вот допустим текст:

Текст в котором нужно найти вот такие [put] вставки и поменять эти [put] на произвольные числа из какого нибудь массива
который допустим содержит столько же элементов в себе сколько и вхождений [put] в данном тексте

Ну а данный массив допустим содержит $arr = array('one', 'two', 'three');
В итоге исходный текст должен получится:

Текст в котором нужно найти вот такие one вставки и поменять эти two на произвольные
числа из какого нибудь массива который допустим содержит столько же элементов в себе сколько и вхождений three в данном тексте
  • Вопрос задан
  • 84 просмотра
Решения вопроса 1
@Sayonji
Воспользуйтесь заменой по регулярке:
$text = "Текст в котором нужно найти вот такие [put] вставки и поменять эти [put] на произвольные числа из какого нибудь массива
который допустим содержит столько же элементов в себе сколько и вхождений [put] в данном тексте";
$arr = array('one', 'two', 'three');

$text2 = preg_replace_callback("/\[put\]/", function () use (&$arr) {
    static $i = 0;
    return $arr[$i++];
}, $text);

var_dump($text2);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы