$match = '+' . implode('* +', explode(' ', $input)) . '*';
Предполагается, что ввод не является пустой строкой;
Редактировать: как указывает @Bart S, str_replace (или mb_str_replace, если вы имеете дело с многобайтовыми символами) будет еще проще ...
$match = '+' . str_replace(' ', '* +', $input) . '*';