Add to Google Reader or Homepage Prihlásiť sa k odberu RSS

| Rubrika Php / mysql

Strpos a offset – nájdenie výskytu znaku v reťazci

PHP Funkcia strpos slúži na vyhľadanie výskytu podreťazca, prípadne jediného znaku v reťazci. V prípade úspechu vracia poradie hľadaného znaku (podreťazca) v reťazci, v prípade neúspechu vracia false.
V prípade, že potrebujeme nájsť napríklad druhý, alebo tretí, alebo x-tý výskyt znaku v reťazci, má táto funkcia problém. Typicky – často pri parsovaní URL adresy potrebujeme nájsť napríklad kde sa nachádza tretia alebo štvrtá lomka v URL.
Podarilo sa mi nájsť vhodnú funkciu, ktorá presne tento problém rieši, upozorňujem, že nie som autorom tohto kódu.

<?
function strposOffset($search, $string, $offset)
{
 
    $arr = explode($search, $string); // exploduje string vyhľadávaným znakom / podreťazcom
 
    switch( $offset )
    {
        case $offset == 0:
        return false;
        break;
 
        case $offset > max(array_keys($arr)):
        return false;
        break;
 
        default:
        return strlen(implode($search, array_slice($arr, 0, $offset))); // jadro funkcie
    }
}
?>

Táto funkcia výborne spolupracuje s natívnou funkciou substr, na základe ich spolupráce dokážeme veľmi jednoducho pracovať s reťazcom a vypisovať rôzne jeho časti.

Zdroj: http://www.phpro.org/…-String.html

Tomáš Mašek

Naspäť naspäť Pridať komentár k článku prispieť do diskusie [0]

Vyhľadávanie

v názvoch článkov v textoch článkov

Pridať komentár

Koľko je na ruke prstov?

RSS