Здравствуйте, momart, Вы писали:
M>Спасибо за помощь
. Ваша реализация чудесно работает. Хотя, мне все же интересно (из чистого любопытства) как можно это сделать с помощью регулярных выражений (мне кажется это будет пара строчек кода).
Ну не пара...
1) эскейпить префикс маркера: /&/&/g
2) Получить с помощью регекспа массив всех слов: /\[(.*?)\]/g
3) для
каждого слова $word из массива выполнить замену:
3.1) заменить первое вхождение на маркер /\[$word\]/▮/
3.2) заменить все (оставшиеся) на пусто /\[$word\]//g
3.3) заменить маркер на значение /\▮/[$word]/
4) разэскейпить префикс: /\&/&/g
На перле это будет ровно столько строк, сколько здесь.