S'il y a toujours un numéro devant, vous pouvez utiliser
echo (int) '14_hello_world';
Voir l'entrée sur String conversion to integers in the PHP manual
Voici une version sans transtypage:
$str = '14_hello_1world_12';
echo substr($str, 0, strpos($str, '_'));
Notez que ce wil Je ne retourne rien, si aucun trait de soulignement n'est trouvé. Si trouvé, la valeur de retour sera une chaîne, alors que le résultat typecasted sera un entier (pas que cela aurait beaucoup d'importance). Si vous souhaitez plutôt la chaîne entière à retourner en l'absence de trait de soulignement existe, vous pouvez utiliser
$str = '14_hello_1world_12';
echo str_replace(strstr($str, '_'), '', $str);
Au PHP5.3, vous pouvez également utiliser strstr
avec $before_needle
ensemble true
echo strstr('14_hello_1world_12', '_', true);
Note: Comme le typage de chaîne en entier en PHP suit un comportement bien défini et prévisible et que ce comportement suit les règles de strtod
propres à Unix pour les chaînes mixtes, je ne vois pas comment la première approche abuse du typage.
double possible de [Tout ce dont après un certain caractère] (https://stackoverflow.com/questions/11405493/get-everything-after-a-certain-character) – kenorb