Occhio agli spazi multipli tra una parola e l'altra se non vuoi avere una caterva di underscore.

Codice PHP:
$nome_hotel strtolower(str_replace(' ','_',preg_replace('#[ ]{2,}#',' ',$_POST['hotel']))).'_roma'
Sicuramente si potrà scrivere in modo più conciso ma con le regexp sono un disastro.