substr

(PHP 3, PHP 4, PHP 5)

substr -- Gibt einen Teil eines Strings zurück

Beschreibung:

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

substr() gibt den Teil von string zurück, der durch die Parameter start und length definiert wurde.

Wenn start positiv ist, beginnt der zurück gegebene String an der start-Position von string, angefangen bei 0 (Null). So ist z.B. im String 'abcdef' das Zeichen an der Position 0 gleich 'a', das Zeichen an der Position 2 ist 'c' usw.

Beispiel 1. Generelle Verwendung von substr()

<?php
echo substr('abcdef', 1);     // bcdef
echo substr('abcdef', 1, 3);  // bcd
echo substr('abcdef', 0, 4);  // abcd
echo substr('abcdef', 0, 8);  // abcdef
echo substr('abcdef', -1, 1); // f

// Auf ein einzelnes Zeichen eines Strings kann auch mittels
// geschweifter Klammern erfolgen
$string = 'abcdef';
echo
$string{0};                 // a
echo $string{3};                 // d
echo $string{strlen($string)-1}; // f

?>

Ist start negativ, beginnt der zurückgegebene String bei dem start'en Zeichen vom Ende von string.

Beispiel 2. Negativen start verwenden

<?php
$rest
= substr("abcdef", -1);    // gibt "f" zurück
$rest = substr("abcdef", -2);    // gibt "ef" zurück
$rest = substr("abcdef", -3, 1); // gibt "d" zurück
?>

Ist length angegeben und positiv, enthält der zurückgegebene String höchstens length Zeichen ab start (abhängig von der Länge von string). Ist string kürzer als oder gleich start Zeichen, wird FALSE zurückgegeben.

Ist length angegeben und negativ, werden genau so viele Zeichen vom Ende von string abgeschnitten (nachdem die Startposition ermittelt wurde, sollte start negativ sein). Gibt start eine Position hinter dem abzuschneidenden Teil an, wird ein leerer String zurückgegeben.

Beispiel 3. Negative length verwenden

<?php
$rest
= substr("abcdef", 0, -1);  // gibt "abcde" zurück
$rest = substr("abcdef", 2, -1);  // gibt "cde" zurück
$rest = substr("abcdef", 4, -4);  // gibt "" zurück
$rest = substr("abcdef", -3, -1); // gibt "de" zurück
?>

Siehe auch strrchr(), substr_replace(), ereg(), trim(), mb_substr() und wordwrap().