NaikonWebUA
@NaikonWebUA
Специалист по SEO продвижению сайтов

Как реализовать автозамену повторяющихся слов в тексте на слова из списка?

Здравствуйте!

Чтобы не описывать длинным текстом, постарался нарисовать визуально, то над чем ломаю голову. Сразу напишу, что я не программист, но данный функционал если его возможно реализовать очень здорово сэкономить время работы.

62b3679adae0a062997231.png

В результате, после нажатия на кнопку "Заменить" слова, которые заданы в левом текстовом окне (слова дубли), должны замениться словами с правого текстового окна, которые указаны списком. Суть проблемы в том, что замена должна быть единичной, то-есть, как показано на картинке первое слово со списка "Variant 1" должен замениться только раз, следующий дубль слова с левого окна уже заменяется следующим словом со списка, это "Variant 2". Это нужно, для того, чтобы уникализировать текст путем подстановки разных клюей.

Буду очень благодарен человеку, который понял суть проблемы, а еще больше отблагодарю за помощь. Искал сервисы в интернете, но так ничего работающего не нашел.
  • Вопрос задан
  • 164 просмотра
Пригласить эксперта
Ответы на вопрос 2
@i1yas
Можно написать функцию

function replace($text, $word, $replacements) {
      $r = $replacements;
      $new_text = $text;
      $replacement = null;
      $pattern = "/$word/";
  
      while(true) {
          $replacement = $r[0];
  
          $new_text = preg_replace(
              $pattern,
              $replacement,
              $new_text,
              1, // заменяем 1 раз
              $count
          );
  
          if(!$count) return $new_text;
  
          // ротируем замены
          $r = array_merge(array_slice($r, 1), [$replacement]);
      }
  }


Использование:
$replaced = replace(
      "First word. Second word. Third word. Forth word.",
      "word",
      ["apple", "banana", "watermelon"]
 );
print_r($replaced);
// First apple. Second banana. Third watermelon. Forth apple.


Замены повторяются по кругу, если совпадений больше
Ответ написан
NaikonWebUA
@NaikonWebUA Автор вопроса
Специалист по SEO продвижению сайтов
И еще такой вопрос, подскажите пожалуйста, а как вывести всё это добро в HTML страницы, чтобы не копаться в коде, а вставлять нужное для работы в поля. Потому, что как раз для ускорения выполнения работы мне нужно ))
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы