15 votes

Comment trouver l'avant-dernière occurrence d'un caractère dans une chaîne de caractères ?

Si possible, n'utilisez que des fonctions PHP standard telles que substr(), strrpos(), strpos(), etc.

0voto

will Points 85

Vous pouvez utiliser deux lots de strrpos avec un décalage négatif pour faire l'affaire :

$str = 'foo fighters fight foo';    
$p0 = strrpos($str,' '); // get position o last space
$os = -strlen($str)+$p0-1; // negative search offset
$p1 = strrpos($str,' ',$os); // position of the second last space
echo '"'.substr($str,$p1).'"'; // result

-2voto

Sev Points 6532

Je stockerais toutes les positions des occurrences dans un tableau en utilisant la méthode "explode", puis j'obtiendrais l'avant-dernière position du tableau, et je produirais la position ou ferais ce dont vous avez besoin avec.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X