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
startnicht 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
startnegativ, beginnt der zurückgegebene String bei dem instartfestgelegten Zeichen vom Ende vonstringaus betrachtet.Ist
stringkürzer als oder gleichstartZeichen, wirdFALSEzurü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
lengthangegeben und positiv, enthält der zurückgegebene String höchstenslengthZeichen abstart(abhängig von der Länge vonstring).Ist
lengthangegeben und negativ, werden genau so viele Zeichen vom Ende vonstringabgeschnitten (nachdem die Startposition ermittelt wurde, solltestartnegativ sein). Gibtstartdie Position des abzuschneidenden Teiles oder dahinter an, wird false zurückgegeben.Wenn
lengthgegeben ist und den Wert 0,FALSEoderNULLhat, wird ein leerer String zurückgegeben.Wird
lengthausgelassen, wird die Teilzeichenkette beginned vonstartbis 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