Два |
в начале и конце, вероятно, неверны - и оба должны быть косыми чертами.
Все остальные слэши должны быть обратными (и должны быть экранированы).
А так как PHP 4.04 $n
является предпочтительным способом ссылки на группу захвата.
$output = preg_replace("/(\\D)\\s+(\\d+;)/", "$1,$2", $output);
Если вы используете одинарные кавычки, вам не нужно избегать обратной косой черты:
$output = preg_replace('/(\D)\s+(\d+;)/', '$1,$2', $output);