Я пошел со вторыми предложениями на моем сайте.
Простая строка для добавления + перед каждым словом, если вы имеете дело только со словами (не со строками в кавычках)
$q = implode(' ', array_map(create_function('$a', 'return "+".$a;'), preg_split('`\\s+`', $q))))
или даже более простое регулярное выражение замените, сделав то же самое:
echo preg_replace('`(\\W|^)\\w`', '\\1+\\2', $q);
если у вас есть не только отдельные слова, но и фразы в кавычках для поиска, следует добавить + перед каждым отдельным словом без кавычек и каждой строкой в кавычках
echo preg_replace('`(\\s|^)(\\w|"[^"]+")`', '\\1+\\2', $q);