Что по этому поводу:
$str = preg_replace_callback("/([ \w]+:)/", 'makeStrong', $str);
Если шаблон начинается с ^
, он будет соответствовать только тому, что найдено в начале всей строки (для меня ваш вопрос звучал так, будто вы хотели обработать многострочную строку за один проход).
Если \s
используется вместе с \ w, он также будет соответствовать разрывам строк и включать их в <strong />
, как вы, вероятно, заметили.