| Rubrika Php / mysql
Pridať komentár
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.

naspäť
