Чтобы ничего не выводилось, нужно вызывать функцию
ob_end_clean.
Я обычно с буфером так работаю:
ob_start();
// Тут какой-нибудь вывод
// В переменную $output заносится весь буфер, и её можно потом где-то использовать
$output = ob_get_contents();
// Очистка буфера
ob_end_clean();
Хотя, можно ещё проще делать: вместо связки
ob_get_contents + ob_end_clean можно использовать
ob_get_clean, которая очищает буфер и при этом возвращает его содержимое.
ob_start();
// Тут какой-нибудь вывод
// В переменную $output заносится весь буфер, и её можно потом где-то использовать.
// При этом происходит очистка буфера.
$output = ob_get_clean();