Привет! Делаю на сайте перелинковку и вроде все сделал но столкнулся с такой проблемой.
Из базы выбирается список слов, которых нужно заменить, скажем, их будет несколько сотен, ссылки к каждому слову и количество замен на страницу.
Я попробовал сделать так:
preg_replace(array('... тут сотня слов'), array('... тут сотня ссылок'), $text);
но нельзя указать массивом количество замен для каждого слова, поэтому приходится проходить циклом:
for($words as $value){
preg_replace($value['word'], $value['link'], $text, $value['count_on_page']);
}
получается несколько сотен циклов при загрузке страницы, а если это будут тысячи слов, как, скажем, в википедии. На сколько это критично? И может есть более интересный способ?
использую preg_replace() потому что идет выборка не просто по слову, но и по окончаниям. Иначе пришлось бы в добавок ко всему еще и каждое окончание перебирать.