Q:

¿Como remplazar los espacios en String por guiones bajos?

$cadena = "Esta es la cadena que quiero cambiar";
/*
.
.
.El código que lo convierte 
.
.
*/
echo $cadenaconvertida;

Resultado: "Esta_la_cadena_que_quiero_cambiar"

A:

Tienes muchas alternativas en PHP.

strtr:

strtr es utilizado para reemplazar caracteres de manera consecutiva, reemplaza todas las apariciones de cada carácter (byte simple). Éste puede mostrar resultados "inesperados" al agregar múltiples caracteres ya que interpreta que cada carácter de forma independiente. Por ejemplo:
echo strtr("ABCBADEFG", "BA", "12");
// Resultado: "21C12DEFG"

Estructura:

string strtr ( string $cadena , string $from , string $to )

string strtr ( string $cadena , array $pares_reemplazar )

Tiempo de respuesta (promedio): 40.9357118607 segundos
Referencia: Aquí

En respuesta:

$cadena = "Esta es la cadena que quiero cambiar";

$cadenaConvert = strtr($cadena, " ", "_");

echo $cadenaConvert;

preg_replace:

preg_replace realiza una búsqueda y sustitución de una expresión regular. 

Estructura:

mixed preg_replace ( mixed $patrón , mixed 
$reemplazo , mixed $cadena [, int $limite = -1 [, int &$contador ]] )

Tiempo de respuesta (promedio): 3.27423620224 seconds
Referencia: Aquí

En respuesta:

$cadena = "Esta es la cadena que quiero cambiar";

$cadenaConvert = preg_replace('/\s+/', '_', $cadena);

echo $cadenaConvert;

str_replace: (la mas recomendable y rápida)

str_replace reemplaza todas las apariciones del string buscado con el string de reemplazo. Esta función devuelve un string o un array con todas las apariciones de search en subject reemplazadas con el valor dado de reemplazo. search y reemplazo puede ser un string o un array. En caso de ser array, se realiza un equivalente con el array de menor indice para las sustituciones.

Estructura:

mixed str_replace ( mixed $search , mixed $reemplazo , mixed $subject [, int &$count ] )

Tiempo de respuesta (promedio): 1.49082899094 seconds
Referencia: Aquí

En respuesta:

$cadena = "Esta es la cadena que quiero cambiar";

$cadenaConvert = str_replace(" ", "_", $cadena);

echo $cadenaConvert;

Resultado para todos:  "Esta_es_la_cadena_que_quiero_cambiar"
Referencia de tiempos de respuesta: Aquí

