substr
(PHP 4, PHP 5)
substr — Gibt einen Teil eines Strings zurück
Beschreibung
$string
, int $start
[, int $length
] )
Gibt den Teil von string
zurück, der durch die
Parameter start
und length
definiert wurde.
Parameter-Liste
-
string
-
Die Eingabezeichenkette. Muss mindestens ein Zeichen lang sein.
-
start
-
Wenn
start
nicht negativ ist, beginnt der zurückgegebene String an derstart
-Position vonstring
, 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.Ist
start
negativ, beginnt der zurückgegebene String bei dem instart
festgelegten Zeichen vom Ende vonstring
aus betrachtet.Ist
string
kürzer als oder gleichstart
Zeichen, wirdFALSE
zurückgegeben.Beispiel #1 Einen negativen
start
-Wert 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
?> -
length
-
Ist
length
angegeben und positiv, enthält der zurückgegebene String höchstenslength
Zeichen abstart
(abhängig von der Länge vonstring
).Ist
length
angegeben und negativ, werden genau so viele Zeichen vom Ende vonstring
abgeschnitten (nachdem die Startposition ermittelt wurde, solltestart
negativ sein). Gibtstart
die Position des abzuschneidenden Teiles oder dahinter an, wird false zurückgegeben.Wenn
length
gegeben ist und den Wert 0,FALSE
oderNULL
hat, wird ein leerer String zurückgegeben.Wird
length
ausgelassen, wird die Teilzeichenkette beginned vonstart
bis zum Ende der Zeichenkette zurückgegeben.Beispiel #2 Negativen
length
-Wert 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 false zurück
$rest = substr("abcdef", -3, -1); // gibt "de" zurück
?>
Rückgabewerte
Gibt den extrahierten Teil der Zeichenkette zurück.
Im Fehlerfall wird FALSE
zurückgegeben. oder eine leere Zeichenkette.
Changelog
Version | Beschreibung |
---|---|
5.2.2 - 5.2.6 |
Wenn der start Parameter die Position einer
negativen Trunkierung oder außerhalb bezeichnet, wird false
zurückgegeben. Andere Versionen bekommen die Zeichenkette von start.
|
Beispiele
Beispiel #3 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
// eckiger Klammern zugegriffen werden
$string = 'abcdef';
echo $string[0]; // a
echo $string[3]; // d
echo $string[strlen($string)-1]; // f
?>
Beispiel #4 substr() Typumwandlungs Verhalten
<?php
class apple {
public function __toString() {
return "green";
}
}
echo "1) ".var_export(substr("pear", 0, 2), true).PHP_EOL;
echo "2) ".var_export(substr(54321, 0, 2), true).PHP_EOL;
echo "3) ".var_export(substr(new apple(), 0, 2), true).PHP_EOL;
echo "4) ".var_export(substr(true, 0, 1), true).PHP_EOL;
echo "5) ".var_export(substr(false, 0, 1), true).PHP_EOL;
echo "6) ".var_export(substr("", 0, 1), true).PHP_EOL;
echo "7) ".var_export(substr(1.2e3, 0, 4), true).PHP_EOL;
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
1) 'pe' 2) '54' 3) 'gr' 4) '1' 5) false 6) false 7) '1200'
Fehler/Exceptions
Gibt im Fehlerfall FALSE
zurück.
<?php
var_dump(substr('a', 1)); // bool(false)
?>
Siehe auch
- strrchr() - Sucht das letzte Vorkommen eines Zeichens in einem String
- substr_replace() - Ersetzt Text innerhalb einer Zeichenkette
- preg_match() - Führt eine Suche mit einem regulären Ausdruck durch
- trim() - Entfernt Whitespaces (oder andere Zeichen) am Anfang und Ende eines Strings
- mb_substr() - Get part of string
- wordwrap() - Bricht einen String nach einer bestimmten Anzahl Zeichen um
- Zeichenketten Zugriff und Veränderung je Zeichen