•  Продожение темы синонимайзера на php В этой заметке расскажу не про какой-то готовый класс или функцию, а скорее про прием, которым можно воспользоваться,  для достижения желаемого результата.

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

    $str = 'мама мыла раму, а дочка балкон';
    echo str_replace(array('мама','дочка'),array('дочка','бабушка'),$str);
    //бабушка мыла раму, а бабушка балкон
    echo preg_replace(array('#мама#u','#дочка#u'),array('дочка','бабушка'),$str);
    //бабушка мыла раму, а бабушка балкон
    echo strtr($str,array('мама'=>'дочка','дочка'=>'бабушка'));
    //дочка мыла раму, а бабушка балкон

    Как можете видеть, верным является лишь третий вариант. Но возможности  strtr сильно ограничены, как научить  preg_replace работать также, как и  strtr