Si vous avez PHP 5.3
$myvalue = 'Test me more';
echo strstr($myvalue, ' ', true);
Notez que si $myvalue
est une chaîne de caractères avec un mot strstr
ne renvoie rien dans ce cas. Une solution pourrait être d'ajouter un espace à la chaîne de test :
echo strstr( $myvalue . ' ', ' ', true );
Cela renverra toujours le premier mot de la chaîne, même si la chaîne ne contient qu'un seul mot.
L'alternative est quelque chose comme :
$i = strpos($myvalue, ' ');
echo $i !== false ? $myvalue : substr( $myvalue, 0, $i );
Ou en utilisant explode, qui a tellement de réponses l'utilisant que je ne prendrai pas la peine de vous indiquer comment le faire.
0 votes
Vous pourriez trouver
s($str)->words()[0]
utile, comme on le trouve dans cette bibliothèque autonome .0 votes
Un petit tableau des cas marginaux potentiels lors de l'obtention de la sous-chaîne avant la première occurrence d'un caractère : stackoverflow.com/a/68123370/2943403