PHP - substr

 

PHP -> Funkcie -> Funkcie pre prácu s reťazcami PHP -> PHP - substr

Syntax


string substr ( string $string, int $start [, int $length] )

Popis


Príkaz jazyka PHP
ubstr() vrací část argumentu string určenou argumenty startlength.

Pokud je start kladný, vrácený řetězec začne start-tým znakem řetězce string, počítáno od nuly. Například v řetězci 'abcdef' je znakem na 0-té pozici 'a', znakem na pozici 2 je 'c', atd.
<?php
$rest = substr("abcdef", 1);    // vrátí "bcdef"
$rest = substr("abcdef", 1, 3); // vrátí "bcd"
$rest = substr("abcdef", 0, 4); // vrátí "abcd"
$rest = substr("abcdef", 0, 8); // vrátí "abcdef"

// Přístup přes složené závorky je další možnost
$string = 'abcdef';
echo $string{0};                // vrátí a
echo $string{3};                // vrátí d
?>


Pokud je start záporný, vrácený řetězec začne start-tým znakem od konce argumentu string.
<?php
$rest = substr("abcdef", -1);    // returns "f"
$rest = substr("abcdef", -2);    // returns "ef"
$rest = substr("abcdef", -3, 1); // returns "d"
?>


Pokud je argument length kladný, vrácený řetězec skončí length znaků za pozicí start. Pokud je parametr string kratší než start znaků, vrátí tato funkce FALSE.

Pokud je parametr length negativní, tak bude z konce řetězce string vynechán odpovídající počet znaků. Pokud parametr start určuje pozici za tímto zkrácením, bude vrácen prázdný řetězec.

<?php
$rest = substr("abcdef", 0, -1)// vrátí "abcde"
$rest = substr("abcdef", 2, -1)// vrátí "cde"
$rest = substr("abcdef", 4, -4)// vrátí ""
$rest = substr("abcdef", -3, -1); // vrátí "de"
?>


Poznámka


Pre text v UTF8 nepoužívajte substr. Pracuje totiž po znakoch, pričom UTF8 môže byť jedno písmeno vyskladané z dvoch znakov. Pre UTF8 používajte funkciu mb_substr.

Pozri aj


mb_substr, strrchr, substr_replace, ereg, trim



vytlačiť článok  hľadať súvisiace články 



Chat ku článku

Vyhľadávanie na stránke
Reklama
Náhodný obrázok
náhodný obrázok
Kontakty

Martin Kasman, M Software
Smreková 3095/23
Email: martin@kasman.sk

Telefón: 0908 270 294