7.2. Wie zerlege ich einen String?Antwort von Kristian KöhntoppMan kann die einzelnen Zeichen in einem String ähnlich wie ein Array ansprechen, allerdings verwendet man anstelle der eckigen Klammern [ und ] geschweifte Klammern: { und }.
$str = "teststring";
$len = strlen($str);
for($i=0; $i<$len; $i++)
printf("Zeichen %d ist %s<br>\n", $i, $str{$i});
Diese Methode ist auch geeignet, um einen String in ein Array umzuwandeln:
function stringToArray($string) {
$array = array();
for($i=0; $i<strlen($string); $i++)
$array[$i] = $string{$i};
return $array;
}
Mit Hilfe der Funktion substr() kann man Teilstrings aus einem String herausschneiden. Mit Hilfe der Funktion explode() kann man einen String an einem Trennzeichen in ein Array zerlegen.
$str = "dies ist ein teststring.";
$avar = explode(" ", $str);
$len = count($avar);
for ($i=0; $i<$len; $i++)
printf("%d: %s<br>\n", $i, $avar[$i]);
Dieses Beispiel zerlegt den gegebenen Teststring an den Leerzeichen und erzeugt ein Array $avar mit den Indices 0 bis 3 (4 Elementen). Kompliziertere Zerlegungen lassen sich mit Hilfe der Funktion preg_split() vornehmen. Das veraltete, weniger leistungsfähigere und langsamere split() könnte man auch verwenden.
$str = "ich bin ein sehr komplizierter test, nicht wahr?";
$avar = preg_split("/[ \t.!?]+/", $str);
$len = count($avar);
for ($i=0; $i<$len; $i++)
printf("%d: %s<br>\n", $i, $avar[$i]);
Im Gegensatz zum vorhergehenden Beispiel werden hier mehrfache Leerzeichen nicht als mehrfache Trennungen gezählt und auch Satzzeichen werden zu den Trennzeichen gezählt. |
||
| 7.2. Wie zerlege ich einen String? http://www.php-faq.de/q/q-string-teilen.html |
||
| Archiv der de.comp.lang.php-FAQ Dies ist eine Archivseite von 2008 und wurde seitdem nicht geändert. Das dclp-FAQ-Team | ||