Bunun için replace fonksiyonunu kullanabilirsin
$name = preg_replace('/\s+/', '_', $name);
$name = str_replace(' ', '_', $name);
İkisi de işini görecektir ancak ilkini kullanmanı öneririm. Ad ve soyad arasında yanlışlıkla veya herhangi başka bir sebeple birden fazla boşluk konması durumunda str_replace fonksiyonu Ad__Soyad gibi bir sonuç verirken, preg_replace fonksiyonu boşluk sayısı farketmeksizin Ad_Soyad şeklinde çıktı verecektir.