web-dev-qa-db-fra.com

fonction strpos inversée en php

fonction strpos en sens inverse

Je voudrais trouver une méthode où je peux trouver une position de caractère à l'envers.Par exemple, le dernier "e" compte de départ à l'envers.

Par exemple

$string="Kelley";
$strposition = strpos($string, 'e');

ça va me donner la position 1.

14
Taps101
int strrpos ( string $haystack , string $needle [, int $offset = 0 ] )

Trouve la position numérique de la dernière occurrence d'aiguille dans la chaîne de botte de foin. 

http://php.net/manual/en/function.strrpos.php

25
Manuel Schweigert

Ce dont vous avez besoin est strrpos pour trouver la position de la dernière occurrence d’une sous-chaîne dans une chaîne

$string = "Kelley";
$strposition = strrpos($string, 'e');
var_dump($strposition);
5
Baba

Essaye ça:

strrpos()

J'espère que cela pourra aider.

2
tobspr

strripos et strrpos ajoutez $needle longueur au résultat, par exemple:

<?php
$haystack = '/test/index.php';
$needle   = 'index.php';

echo strrpos($haystack, $needle);//output: 6

Une alternative est d'utiliser strrev pour récupérer une position à partir de la fin, par exemple:

<?php
$haystack = 'Kelley';
$needle   = 'e';

echo strpos(strrev($haystack), strrev($needle));//Output: 1
function rev ($string, $char)
{
    if (false !== strrpos ($string, $char))
    {
        return strlen ($string) - strrpos ($string, $char) - 1;
    }
}

echo rev ("Kelley", "e");
1
akond

Fonction simple, vous pouvez ajouter:

    function stripos_rev($hay,$ned){
    $hay_rev = strrev($hay);
    $len = strlen($hay);
    if( (stripos($hay_rev,$ned)) === false ){
        return false;
    } else {
        $pos = intval(stripos($hay_rev,$ned));
        $pos = $len - $pos;
    }
    return $pos;

}
1
sameerNAT

Tout simplement comme cela peut être: strrpos ()

Cela retournera la première occurrence du personnage de la droite.

0
Sven