Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Stringfunktionen
Letztes Update: 16.08.2005 17:53:45


Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

 
* Link führt ins Internet


Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!  

 


SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!  


Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 



 

Suchen und Vergleichen von Zeichenketten




Die Funktionen dieser Funktionsgruppe dienen dem Vergleich von Zeichenketten sowie der Suche nach Zeichen und Zeichenketten.


Funktion Beispiel Beschreibung
strcmp($str1,$str2) $resultat = strcmp($str1,$str2) Vergleicht zwei Zeichenketten. Wenn $str1 < $str2 wird -1, im umgekehrten Fall 1 und bei Gleicheit 0 zurückgegeben.
strcasecmp($str1,$str2) $resultat = strcasecmp($str1,$str2) Wie strcmp(), aber case-insensitive, d.h. berücksichtigt Gross- und Kleinschreibung nicht.
strnatcmp($str1,$str2) $resultat = strnatcmp ($str1,$str2) Wie strcmp(), aber unter Berücksichtigung einer "natürlichen" Sortierreihenfolge bei numerischen Strings, d.h. "abc90de" ist kleiner als "abc100e".
strnatcasecmp($str1,$str2) $resultat = strnatcasecmp ($str1,$str2) Wie strnatcmp(),aber "case-insensitive, d.h. berücksichtigt Gross- und Kleinschreibung nicht.
strpos($str,$strs,$pos) $str1 = strpos($str,$strs,$pos) Findet die Position des ersten Auftretens einer Zeichenkette $strs ab Position $pos.
stripos ($str, $strs) $pos = stripos ($str, $strs) Findet die Position des ersten Auftretens eine Strings $strs innerhalb der Zeichenkette $str.
strrpos($str,$char) $pos = strrpos ($str, $char) Findet die Position des letzten Auftretens eines einzelnen Zeichens $char.
strripos($str,$strs[,$pos]) $pos = strripos($str,$char) Findet die Position des letzten Auftretens einer Zeichenkette $strs ab Position $pos.
strspn($str1,str2) $anzahl = strspn ($str1,$str2) Ermittelt die Anzahl der übereinstimmenden Zeichen
strcspn($str1,$str2) $anzahl = strcspn($str1,$str2) Ermittelt die Anzahl der nicht übereinstimmenden Zeichen
strstr($str,$strs) $str1 = strstr($str,$strs) Sucht das erste Auftreten einer Zeichenkette $strs und gibt diese und alle folgenden Zeichen zurück.
stristr($str,$strs) $str1 = stristr($str,$strs) Wie strstr(), Groß- bzw. Kleinschreibung werden jedoch nicht berücksichtigt.
strchr($str,$strs) $str1 = strchr($str,$strs) Sucht das erste Auftreten einer Zeichenkette $strs und gibt diese und alle folgenden Zeichen zurück.
strrchr($str,$strs) $str1 = strrchr($str,$strs) Sucht das letzte Auftreten einer Zeichenkette $strs und gibt diese und alle folgenden Zeichen zurück.
substr($str,$start,$length) $str1 = substr($str,$start,$length) Gibt Teil einer Zeichenkette ab $start mit der Länge $length zurück.
substr_count($str,strs) $anzahl = substr_count($str,strs) Ermittelt, wie oft eine Zeichenkette $strs in einem String $str vorkommt.
similar_text ($str1, $str2[, $prozent]) similar_text ($str1, $str2,$prozent); Berechnet die Ähnlichkeit zweier Zeichenketten. Falls Sie als Referenz ein drittes Argument angeben, wird ihnen die Ähnlichkeit als Prozentwert errechnet.
soundex($str) soundex ("Knuth") == soundex ("Kant") Berechnet die Laut-Ähnlichkeit eines Strings.
levenshtein($str1,$str2) $diff = levenshtein($str1,$str2) Errechnet die Differenz zwischen den als Argumente übergebenen zwei Strings. Ist einer der Strings länger als die zulässigen 255 Zeichen, wird -1 zurück gegeben. Die Levenshtein-Differenz ist definiert als die minimale Anzahl an Zeichen, die ersetzt, eingefügt oder gelöscht werden müssen um den $str1 nach $str2 umzusetzen.
metaphone($str) metaphone("Hallo") == metaphone("Hello"); Berechnet den metaphone-Schlüssel eines Strings. Genau wie soundex() berechnet metaphone den gleichen Schlüssel für ähnlich klingende Wörter. Die Metaphone-Funktion arbeitet genauer als soundex(), da sie die Grundregeln der englischen Aussprache kennt. Die durch metaphone erzeugten Schlüüsel sind von variabler Länge.



Einsatz von strcmp()

Mit Hilfe von strcmp() werden zwei Zeichenketten auf der Binärebene verglichen. Folgende Werte werden zurückgegeben:
. -1 - Ist $str1 kleiner als $str2
. 0 - Bei Gleichheit der Zeichenkette $str1 und $str2.
. 1 - Ist $str1 grösser $str2


Beispiel



<?php
$spruch1 
"Hallo Welt";
$spruch2 "Hallo Welt";
$resultat strcmp($spruch1$spruch2);

if (
$resultat == 0) {
    echo 
"Sind Gleich!";
} elseif (
$resultat 0) {
    echo 
"spruch1 ist kleiner als spruch2";
} else {
    echo 
"spruch1 ist grösser als spruch2";
}
?>




Ausgabe



Sind Gleich!



Bei einem mit der Funktion
strcmp
() durchgeführten Vergleich wird, z.B. der String "spruch99abc" grösser als der String "spruch100abc" sein. Sollte bei derartigen, teilweise numerischen Strings eine natürliche Sortierreihenfolge, welche die enthaltenen Zahlen mitberücksichtigt, erforderlich sein, kann die Funktion strnatcmp() verwendet werden.


Beispiel



<?php
$spruch1 
"spruch99abc";
$spruch2 "spruch100abc";
$resultat strnatcmp($spruch1$spruch2);

if (
$resultat == 0) {
    echo 
"Sind Gleich";
} elseif (
$resultat 0) {
    echo 
"spruch1 ist kleiner als spruch2";
} else {
    echo 
"spruch1 ist grösser als spruch2";
}
?>




Ausgabe



spruch1 ist kleiner als spruch2



Der Einsatz von strcmp() hätte bei diesem Beispiel das umgekehrte Ergebnis zur Folge.


 


Umwandeln, Teilen und Verbinden von Zeichenketten
 




 sponsored by

Host Europe


HighText iBusiness


Host Europe




© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.deImpressumKontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de