$str="$s='Arryпкnгское шоссе 15';";
preg_match_all("(#[0-9]{4})",$str,$matches); // ищем все коды
// в массиве matches под индексом 0 будет хранится еще один массив,
// в котором содержаться все твои коды. Сделай print_r($matches) и все поймешь.
//print_r($matches);
// Создадим массив codes, где будут лежать все коды, при чем с помощью функции
// array_unique() мы выкенем все повторяющееся коды.
$codes=array_unique($matches[0]);
//print_r($codes);
//Просматриваем массив codes и меняем каждое значение в строке на него же, но с точкой запятой.
foreach ($codes as $val)
$str=str_replace($val,$val.";",$str);
// Теперь когда выведешь на экран строку, то тебе выведется следующее: ='Arryпкnгское шоссе 15';
// Но если посмотришь HTML-код страницы, то ты убедишся, что после каждого кода стоит тоска с запятой
print $str;