Pues si quieres dejar solo la primer palabra trata con esté código:
Código PHP:
<?php
function may($string)
{
$palabras = explode(" ", $string); //Separa la cadena por espacios
$primer_palabra = $palabras[0]; //La primer palabra
$palabra_may =ucwords(strtolower($primer_palabra));
$string_final = str_replace("$primer_palabra","$palabra_may", $string); //La remplaza en la cadena
return $string_final; //La retorna
}
$texto = "esto es mi texto";
$texto2 = may($texto);
echo $texto2; // Ya imprime la primer letra de la primer palabra en mayúscula.
?>
Espero que te sirva, saludos!