Buenas, el tema es que el str_replace es para texto, NULL no es texto...
por ej:
Código PHP:
$var = NULL;
$var = str_replace(NULL,"p",$var);
echo $var;
No hace nada...distinto seria
Código PHP:
$var = "NULL"
Tenes que probar como te dijeron arriba :
Código PHP:
if (empty($valor))
$valor ="Sin valor";