1. <?php
  2. $input = 'Jakis fajny [adres] i jeszcze [link] jeden [adresik] i [link].';
  3.  
  4. function parseTagsRecursive($input)
  5. {
  6.    if (is_array($input)) {
  7.        $input = '•';
  8.    }
  9.  
  10.    return preg_replace_callback('#[link]+#', 'parseTagsRecursive', $input);
  11. }
  12.  
  13. $output = parseTagsRecursive($input);
  14.  
  15. echo $output;
  16. ?>


Rezultat:
  1. Jakis fajny [adres] i jeszcze jeden [adresik] i .


Ma być odwrotnie czyli wstawiaj kropki tam gdzie nie ma: [link], a [link] pozostaw bez zmian czyli:
  1. Jakis fajny i jeszcze [link] jeden i [link]