|

Die Funktionen zum
Bearbeiten von Zeichenketten
Die Funktionen htmlentitities und htmlspecialchars
Die Funktion get_meta_tags: liest Meta-Tags aus
und schreibt gefundene Einträge in ein Array
Die Funktion nl2br
Die Funktion strip_tags: Entfernen bestimmter
HTML tags
Die Funktionen wordwrap und chunk_split: Umbrechen
nach einer bestimmten Anzahl von Zeichen
Die Funktion similar_text: Ähnlichkeiten
zwischen zwei Zeichenketten ermitteln
Die Funktion metaphone: Zeichenketten auf Ähnlichkeiten
in der Aussprache überbrüfen
Die Funktionen implode und join: Arrayelemente
zu einer Zeichenkette zusammenfassen
Die Funktionen explode, split, strtok: Zeichenkette
anhand eines Delimiters trennen und die Einzelteile einem
Array zuweisen
Die Funktionen strchr, strrchr, stristr: Zeichenketten
in Zeichenketten finden
Die Funktion stristr: Suchen ohne Berücksichtigung
der Gross- und Kleinschreibung
Die Funktion strchr: Suchen mit Berüchsichtigung
der Gross- und Kleinschreibung
Die Funktion strrchr: Suchen nach dem letzten
Treffer
Die Funktion strpos: Die Position ermitteln,
wo das gesuchte Wort zum erstenmal auftritt
Die Funktion strrpos: Die Position ermitteln,
wo das gesuchte Wort zum letztenmal auftritt
Die Funktion strspn: Die Position des Zeichens
ermitteln, das in einer anderen Zeichenkette
nicht enthalten ist
Die Funktion strclspan: Die Position ermitteln,
in der zum ersten Mal ein Zeichen aus der einen Zeichenkette
in der anderen Zeichenkette enthalten
Die Funktion chop: Carriage return, tab, Leerzeichen
am Ende einer Zeichenkette entfernen
Die Funktion ltrim: Leerzeichen und newlines
am Anfang einer Zeile entfernen
Die Funktion trim: Überflüssige Zeichen
am Anfang oder Ende entfernen
Die Funktion strlen: Ermitteln der Länge
einer Zeichenkette
Die Funktion count_chars: Ermitteln wie oft
die einzelnen Zeichen in einer Zeichenkette vorkommen
Die Funktionen ucfirt, ucwords, stroupper: Kleinbuchstaben
in Großbuchstaben konvertieren
Die Funktion strtlower: Großbuchstaben
in Kleinbuchstaben umwandeln
| Funktionen
zum Bearbeiten von Zeichenketten |
|
PHP ist, ähnlich wie Perl, als Programmiersprache,
die überwiegend für die Internetprogrammierung eingesetzt
wird, für die Verarbeitung von Texten optimiert. PHP
stellt hierfür fast 60 Funktionen zur Verfügung.
Manche dienen auch ausschliesslich der Verarbeitung von HTML
Dokumenten. Teilweise lassen sich die Probleme, die mit diesen
Funktionen gelöst werden, auch über Regular Expressions
lösen. Vor allem für Leute mit wenig Erfahrung,
ist es aber wohl einfacher, auf eine fertige Funktion zurückzugreifen.
Für Leute mit mehr Programmiererfahrung dürfte es
einfacher sein, diese Funkionalitäten mit regular expression
zu realisieren. Die wichtigsten Funktionen sollen hier vorgestellt
werden.
| Die
Funktionen htmlentitities und htmlspecialchars |
|
Mit der Funktion htmlentities werden alle HTML
Tags in die entsprechenden Character Entity umgewandelt. Das
heisst zu Deutsch aus < wird <, aus > wird > aus
ä wird &aauml etc. Dass man z.B. deutsche ä,ö,ü,ß,
spanische Tilde, französchische ceguille etc. etc. umwandeln
will, ist relativ klar. Damit wird garantiert, dass diese
Zeichen mit jedem Browser gelesen werden können. Die
Frage, die sich stellt ist, warum soll man HTML Tags umwandeln
? Man will das z.B. wenn man verhindern will, dass der User
in ein Gästebuch, Chat, Forum etc. etc. HTML Tags übergibt.
Wandelt man diese in Character Entitis um, sieht man den HTML
Quellcode im Browser, aber der HTML Code wird nicht mehr als
HTML dargestellt. Häufiger ist natürlich das Problem,
dass man nur die eigentlichen HTML Tags umwandeln will, das
kann man dann machen mit der Funktion htmlspecialchars. Letztere
Funktion ist z.B. dann sehr nützlich, wenn man Handbücher
zu HTML schreibt, und in diesem Zusammenhang will, dass der
HTML Quellcode nicht interpretiert, sondern im Browser angezeigt
wird.
<?
$htmlseite="
<html>
<head><title>Testseite</title></head>
<body>Hallo Andrés Ehmann ! Wie geht´s
?</body>
</html>";
$mod_htmlseite=htmlentities($htmlseite);
print $mod_htmlseite;
?>
Das Ergebnis sieht dann so aus:
<html>
<head><title>Testseite</title></head>
<body>Hallo Andrés Ehmann ! Wie geht´s
?</body>
</html>
Im Browser sieht man das:
<html> <head><title>Testseite</title></head>
<body>Hallo Andrés Ehmann ! Wie geht´s
?</body> </html>
Also den Orginal HTML Quelltext.
Das gleiche mit htmlspecialchars sieht so aus.
<?
$htmlseite="
<html>
<head><title>Testseite</title></head>
<body>Hallo Andrés Ehmann ! Wie geht´s
?</body>
</html>";
$mod_htmlseite=htmlspecialchars($htmlseite);
print $mod_htmlseite;
?>
Das Ergebnis sieht dann so aus:
<html>
<head><title>Testseite</title></head>
<body>Hallo Andrés Ehmann ! Wie geht´s
?</body>
</html>
Was im Browser wiederum so aussieht:
<html> <head><title>Testseite</title></head>
<body>Hallo Andrés Ehmann ! Wie geht´s
?</body> </html>
Wie deutlich zu erkennen, wurden bei der Funktion
htmlscpecialchars nur die eigentlichen HTML Tags umgewandelt,
die sonstigen Sonderzeichen, wie é und ´ blieben
erhalten.
| Funktion
get_meta_tags: liest Meta-Tags aus und schreibt gefundene
Einträge in ein Array |
|
Dieses Sript
<?
$array = get_meta_tags("test.html");
foreach($array as $key => $element)
{
print $key." -> ".$element."<br>"
;
}
?>
angewendet auf eine Datei folgenden Inhalts
<HEAD>
<META NAME="AUTHOR" CONTENT="Schneewittchen">
<META NAME="KEYWORDS" lang="de" CONTENT="sieben,
Zwerge">
<META NAME="CHANGED" CONTENT="16010101;0">
</HEAD>
erzeugt die Ausgabe:
author -> Schneewittchen
keywords -> sieben, Zwerge
changed -> 16010101;0
Bei Gästebüchern, Foren, Chats,
Anzeigenmärkten kann es sein, dass der User nach bestimmten
Zeilen durch drücken der Return-Taste umbricht, z.B.
ist sowas:
Hallo Leute,
ich hätte mal eine Frage
Ist übersichtlicher als:
Hallo Leute, ich hätte mal eine Frage
Das Problem dabei ist, dass das Zeichen,
dass den Umbruch darstellt, \n oder \r\n vom Browser nicht
interpretiert wird, die Umbrüche des Users sind also
bei der Ausgabe im Browser nicht mehr sichtbar. Zur Lösung
dieses Problems stellt PHP nun eine eigene Funktion zur Verfügung,
nämlich nl2br.
<?
$string="Hallo Leute,
ich hätte mal eine Frage";
$string_mod=nl2br($string);
print $string_mod;
?>
Das führt dann zu diesem Ergebnis:
Hallo Leute,<br />
ich hätte mal eine Frage
was im Browser wiederum dann so aussieht:
Hallo Leute,
ich hätte mal eine Frage
| Die
Funktion strip_tags: Entfernen bestimmter HTML tags |
|
Alle tags zu entfernen ist mit regular
expression sehr einfach. Sollen aber einige HTML Tags erhalten
bleiben, wird es schwierig. Von daher ist die Funktion strip_tag
ausgesprochen nützlich. Brauchen kann man sowas, wenn
man z.B. in einem Gästebuch alle HTML Tags aus Sicherheitgründen
entfernen will, aber den img oder href tag oder mailto Tag
stehen lassen will.
<?
$html_seite="
<html><head><title>Hello</title></head>
<body>
Das lassen wir stehen: <img src=wirtschaft.jpg>
Das auch: <A href=http://www.infos24.de>www.infos24.de</A>
<table>
<tr><td>Name</td><td>Andres Ehmann</td></tr>
<tr><td>Telefon</td><td>030-47301388</td></tr>
</table>
<font color=blue size=5>Hello</font><br>
</body>
</html>";
$html_seite_mod=strip_tags($html_seite,'<a>,<img>');
?>
Das Ergebnis sieht dann so aus:
Hello
Das lassen wir stehen: <img src=wirtschaft.jpg>
Das auch: <A href=http://www.infos24.de>www.infos24.de</A>
NameAndres Ehmann
Telefon030-47301388
Hallo
Die
Funktionen wordwrap und chunk_split: Umbrechen nach einer
bestimmten Anzahl von Zeichen |
|
Die meisten Gästebücher, Foren,
Chats im Netz lassen sich relativ leicht abschiessen. Es reicht
eine Zeichenkette ohne Leerzeichen einzugeben, die den Raum,
der zur Verfügung steht sprengt, also z.B. 400 Buchstaben
hintereinander ohne Leerzeichen. Der Browser muss dann unten
scrollen, was das Design meistens durcheinanderwirbelt. Mit
wordwrap kann man nach einer bestimmten Anzahl von Zeichen
den Umbruch erzwingen.
<?
$string="die_killervariante_für_jedes_Gästebuch_der_User_gibt".
"_einfach_kein_Leerzeichen_ein_dann_kann auch_nirgends_umgebrochen_werden_alles_futsch";
$string_mod=wordwrap($string,20,"<br>",1);
print $string_mod;
?>
Das Ergebnis sieht als Quelltext dann
so aus:
die_killervariante_f<br>ür_jedes_Gästebuch_d<br>er_User_gibt_einfach<br>_kein_Leerzeichen_ei<br>
n_dann_kann<br>auch_nirgends_umgebr<br>ochen_werden_alles_f<br>utsch
Im Browser so:
die_killervariante_f
ür_jedes_Gästebuch_d
er_User_gibt_einfach
_kein_Leerzeichen_ei
n_dann_kann
auch_nirgends_umgebr
ochen_werden_alles_f
utsch
So wird garantiert, dass zumindest mit dieser
simplen Methode Einträge in Internetdienste die Anwendung
nicht zerschiessen. Die einzelnen Parameter bedeuten hier
folgendes.
(1) $string => ist die Zeichenkette, auf
die Funktion wordwrap angewendet werden soll
(2) 20 => ist die Anzahl der Zeichen, nachder umgebrochen
werden soll
(3) <br> => ist das Zeichen, dass nach jeder Zeile
steht
(4) 1 => zeigt an, dass nach dem unter (2) genannten Wert
umgebrochen wird.
Steht statt 1 eine 0, wird nach 75 Zeichen umgebrochen
Das gleiche lässt sich auch mit chunk_split
erreichen
<?
$string="die_killervariante_für_jedes_Gästebuch_der_User_gibt_einfach_".
"kein_Leerzeichen_ein_dann_kann auch_nirgends_umgebrochen_werden_alles_futsch";
$string_mod=chunk_split($string,20,"<br>");
print $string_mod;
?>
Der einzige Unterschied besteht darin, dass
hier der letzte Parameter fehlt. Wird keine Zahl angegeben,
wird nach 75 Zeichen umgebrochen.
| Die
Funktion similar_text: Ähnlichkeiten zwischen zwei
Zeichenketten ermitteln |
|
similar_text ermittelt
die Ähnlichkeit zwischen zwei Zeichenketten. Anwendungen
wäre Vergleich von Gensequenzen und deren Mutanten, die
Suche nach Namen, wo man sich nicht ganz sicher ist, wie man
sie schreibt (Meier, Maier) etc. Dies ist mal zur Abwechslung
eine Funktion, die mit regular expression nicht so einfach
nachprogrammiert werden kann.
<?
$string_eins="Schmitt";
$string_zwei="Schmidt";
$gleiche_buchstaben = similar_text($string_eins,$string_zwei);
print $gleiche_buchstaben;
?>
Da kommt dann 6 raus, weil sechs Buchstaben
gleich sind. Wer sich jetzt noch die Prozentzahl ausrechnen
lassen will, etwa weil er nur die Werte sehen will, die eine
bestimmte kritischen Bereich übersteigen, kann sowas
machen.
<?
$string_eins="Schmitt";
$string_zwei="Schmidt";
$gleiche_buchstaben = similar_text($string_eins,$string_zwei,$prozent);
print "$gleiche_buchstaben <br>";
print $prozent;
?>
Für $prozent erhalten wir dann 85.7142857143
(6/7 * 100).
| Die
Funktion metaphone: Zeichenketten auf Ähnlichkeiten
in der Aussprache überbrüfen |
|
Basierend auf der englischen Aussprache,
führt metaphone eine Transformation durch, die bewirkt,
dass Buchstaben die gleich ausgesprochen aber verschieden
geschrieben werden, auf einen identischen Lautwert zurück.
So wird zum Beispiel der Buchstabe g zu j reduziert, wenn
er vor i (gipsy) oder e (geography) steht, was dann den selben
Lautwert hat wie j (jack). Das stimmt natürlich nicht
immer. Zum Beispiel wird h nach Vokal eliminiert, was z.B.
im Persischen falsch ist, Vokale können dort ein angehängtes
h haben (ga'hi =manchmal). Die Transformation von v zu f ist
im Spanischen falsch, dort ist v ein als bilabialer frikativ
Laut ausgesprochenes b. C müsste im Italienischen nach
i oder e zu tsch transformiert werden (ciao) etc. etc. Als
Annäherung ist es aber sicher nicht schlecht. Skurril
ist, dass Vokale eliminiert werden. Wir wählen als Beispiel
etwas wo es 100 % funktioniert.
<?
$name_eins="Ehmann";
$name_zwei="Eman";
$aehnlich_eins=metaphone( $name_eins);
$aehnlich_zwei=metaphone( $name_zwei);
print "phonetische Transformation des ersten Wertes:$aehnlich_eins
<br>";
print "phonetische Transforamtion des zweiten Wertes:$aehnlich_zwei
<br>";
?>
Die phonetische Transformation ergibt
für beide Wörter EMN.
Hat man die phonetische Transformation, kann man schauen,
ob ein Teil dieser Lautkette in einer anderen enthalten ist.
<?
$name_eins="Maier";
$name_zwei="Meier";
print metaphone($name_eins);
print metaphone($name_zwei);
if (metaphone($name_eins) == metaphone($name_zwei))
{
print "Wahrscheinlich sind es verschieden Typen, aber
es sind Allophone, Gleichklinger";
}
?>
Schon bei der folgenden Variante, steigt
metaphone aus:
<?
$name_eins="Mayer";
$name_zwei="Meier";
print metaphone($name_eins);
print metaphone($name_zwei);
if (metaphone($name_eins) == metaphone($name_zwei))
{
print "Wahrscheinlich sind es verschieden Typen, aber
es sind Allophone, Gleichklinger";
}
?>
Auf dem Bildschirm erscheint:
MYR
MR
obwohl Mayer und Maier phonetisch völlig
identisch sind.
| Die
Funktionen implode und join: Arrayelemente zu einer Zeichenkette
zusammenfassen |
|
Mit implode und join kann man die Elemente
eines Arrays zu einer Zeichenkette zusammenfügen. Die
Befehle implode und join sind völlig identisch. Wahrscheinlich
gibt es zwei Befehle dafür, um die Perl Programmier nicht
zu verwirren. In Perl heisst der Befehl join.
<?
$kuchen=array("Zucker","Schmalz","Butter","Salz","Milch","Mehl","Safran");
$satz=join(" und ",$kuchen);
print $satz;
?>
oder mit implode
<?
$kuchen=array("Zucker","Schmalz","Butter","Salz","Milch","Mehl","Safran");
$satz=implode(" und ",$kuchen);
print $satz;
?>
| Die
Funktionen explode, split, strtok: Zeichenkette anhand
eines Delimiters trennen und die Einzelteile einem Array
zuweisen |
|
Auch explode und split bewirken das gleiche.
Mit diesen Funktionen lassen sich Daten, die in Form eines
strukturierten Textes vorliegen, einem Array zuweisen.
<?
$string="Hans Maier::Kurfüstendamm 115::030-34534567::13245
Berlin::Diplom Ing. Elektrotechnik";
$wert=split("::",$string);
foreach ($wert as $einzelteile)
{
print "$einzelteile <br>";
}
?>
Das Ergebnis sieht im Browser so aus:
Hans Maier
Kurfüstendamm 115
030-34534567
13245 Berlin
Diplom Ing. Elektrotechnik
Alternativ könnte man es auch mit
explode machen
<?
$string="Hans Maier::Kurfüstendamm 115::030-34534567::13245
Berlin::Diplom Ing. Elektrotechnik";
$wert=explode("::",$string);
foreach ($wert as $einzelteile)
{
print "$einzelteile <br>";
}
?>
Die dritte Variante, nämlich strtok
<?
$string="Hans Maier::Kurfüstendamm 115::030-34534567::13245
Berlin::Diplom Ing. Elektrotechnik";
$wert=strtok($string,"::");
while ($wert)
{
print strtok("::") ."<br>";
}
?>
Das Ergebnis ist das gleiche wie oben.
| Die
Funktionen strchr, strrchr, stristr: Zeichenketten in
Zeichenketten finden |
|
Diese Funktionen lassen sich ohne weiteres
durch regular expression nachbilden. Unter Umständen
ist es aber einfacher man macht es mit diesen Funktionen.
| Die
Funktion stristr: Suchen ohne Berücksichtigung der
Gross- und Kleinschreibung |
|
<?
$string_eins="Ich war einmal am Ganges, ich war einmal
am Nil, da sah ich etwas langes,".
"das war ein Krokodil";
$string_zwei="Langes";
$treffer=stristr($string_eins,$string_zwei);
print $treffer;
?>
Das Ergebnis ist:
langes, das war ein Krokodil
Das heisst, die Funktion wirft alles aus,
was auf den Treffer folgt (inklusive das gesuchte Wort). Gross-
und Kleinschreibung wird hierbei nicht berücksichtigt.
Wird nichts gefunden, kommt undef zurück, was gleichbedeutend
mit false ist. Wer Gross- und Kleinschreibung berücksichtigen
will muss die Funktion strchr verwenden.
| Die
Funktion strchr: Suchen mit Berüchsichtigung der
Gross- und Kleinschreibung |
|
<?
$string_eins="Ich war einmal am Ganges, ich war einmal
am Nil, da sah ich etwas langes,".
" das war ein Krokodil";
$string_zwei="langes";
$treffer=strchr($string_eins,$string_zwei);
print $treffer;
?>
Das Ergebnis ist das gleiche wie oben, allerdings
würde die Funktion strchr nichts liefern, wenn man Langes
schreiben würde.
Während stristr und strchr nach dem ersten Vorkommen
eines Zeichens suchen und den Rest ausgeben, sucht strrchr
nach dem letzten Vorkommen des gesuchten Wortes und wirft
dann den Rest aus.
| Die
Funktion strrchr: Suchen nach dem letzten Treffer |
|
<?
$string_eins="Cola ist toll. Coca Cola ist gesund";
$string_zwei="Cola";
$treffer=strrchr($string_eins,$string_zwei);
print $treffer;
?>
Das Ergebnis ist:
Cola ist toll
strchr würde hier "Cola ist toll. Coca Cola ist
gesund" liefern.
| Die
Funktion strpos: Die Position ermitteln, wo das gesuchte
Wort zum erstenmal auftritt |
|
Diese Funktion sieht vielleicht trivial
aus, ist sie aber leider nicht. Es ist schwierig, sie mit
einer regular expression nachzubilden.
<?
$string_eins="Hochschätzen kann nur, wer sich nicht
selbst sucht";
$string_zwei="sich";
$treffer=strpos($string_eins,$string_zwei);
print $treffer;
?>
Das Wort "sich" befindet ist
das 28 Zeichen der Zeichenkette, wenn bei 0 angefangen wird
zu zählen. Wenn man es braucht, kann man noch einen dritten
Parameter dazu geben, der angibt, ab wo die Suche gestartet
werden soll.
<?
$string_eins="Hochschätzen kann nur, wer sich nicht
selbst sucht";
$string_zwei="ch";
$treffer=strpos($string_eins,$string_zwei,7);
print $treffer;
?>
$treffer hat den Wert 29, weil das erst ch
übersprungen wird, da die 7 anzeigt, dass die Suche erst
danach starten soll.
| Die
Funktion strrpos: Die Position ermitteln, wo das gesuchte
Wort zum letztenmal auftritt |
|
Während strpos den Wert ermittlelt,
wo das Wort zum erstenmal, bzw. nach dem festgelegten Abschnitt
zum erstenmal auftritt, ermittelt strrpos die Position, wo
das Wort zum letzten Mal auftritt.
<?
$string_eins="Hochschätzen kann nur, wer sich nicht
selbst sucht";
$string_zwei="s";
$treffer=strrpos($string_eins,$string_zwei);
print $treffer;
?>
$treffer hat jetzt nicht den Wert 4, also die
Position des ersten Treffer, sondern 45, die Position des
letzten reffers.
| Die
Funktion strspn: Die Position des Zeichens ermitteln,
das in einer anderen Zeichenkette nicht enthalten ist |
|
Es ist auch möglich, die Position
des Zeichens zu ermitteln, dass in dem String, mit dem verglichen
wird, nicht enthalten ist.
<?
$string_eins="Mayer";
$string_zwei="Meyer";
$treffer=strspn($string_eins,$string_zwei);
print $treffer;
?>
Das Ergebnis ist 1 wie M, da das darauffolgende
Zeichen a/e nicht mehr identisch ist. Die Reihenfolge spielt
hierbei übrigens keine Rolle, wie folgendes Beispiel
zeigt:
<?
$string_eins="mayer";
$string_zwei="Schmidt";
$treffer=strspn($string_eins,$string_zwei);
print $treffer;
?>
m wurde mit Absicht gewählt, da sonst
schon M als ungleich erkannt wird. Die Funktion strspan ist
case sensitive. Als Ergebnis liefert das Beispiel oben 1 da
a das Zeichen ist, was in Schmidt nicht vorhanden ist. m wäre
vorhanden, wenn auch an einer anderen Stelle.
| Die
Funktion strclspan: Die Position ermitteln, in der zum
ersten Mal ein Zeichen aus der einen Zeichenkette in der
anderen Zeichenkette enthalten |
|
<?
$string_eins="Ekanin";
$string_zwei="Schmidt";
$treffer=strcspan($string_eins,$string_zwei);
print $treffer;
?>
An der 4 Position taucht zum erstenmal ein
Zeichen auf, dass in der anderen Zeichenkette enthalten ist,
nämlich i. Folglich ist $treffer i.
| Die
Funktion chop: Carriage return, tab, Leerzeichen am Ende
einer Zeichenkette entfernen |
|
Diese Funktion erscheint vordergründig
unwichtig, tatsächlich ist sie insbesondere im Zusammenhang
mit Flatfile Datenbanken ausgesprochen wichtig siehe Arbeiten
mit Flatfile Datenbanken. Flatfile Datenbanken funktionnieren
nur dann, wenn jede Zeile mit einem bestimmten Zeichen, in
der Regel ist das das newline Zeichen \n, endet. Bei der konkreten
Verarbeitung der entsprechenden Zeile, will man es aber meist
nicht mehr haben, muss es also herausschneiden. Die Funktion
chop ist nicht mit der gleichnamigen Perlfunktion zu verwechseln,
den chop schneidet bei Perl jedes x-beliebige Zeichen am Ende
eines Strings weg. chop entspricht der Perl Funktion chomp.
<?
$string="Hat Leerzeichen am Ende ";
print $string."/";
$string=chop($string);
print $string."/";
?>
Wie man sieht, hat $string nach chop keine
Leerzeichen mehr am Ende. Der Slash folgt direkt auf die Zeichenkette.
Die gleiche Wirkung hat die Funktion rtrim.
<?
$string="Hat Leerzeichen am Ende ";
print $string."/";
$string=rtrim($string);
print $string."/";
?>
| Die
Funktion ltrim: Leerzeichen und newlines am Anfang einer
Zeile entfernen |
|
Weniger relevant für die Praxis,
gibt es noch die Funktion ltrim. Sie entfernt Leerzeichen
und newlines am Anfang einer Zeile.
<?
$string=" Hat Leerzeichen am Anfang";
print "/".$string;
$string=ltrim($string);
print "/".$string;
?>
| Die
Funktion trim: Überflüssige Zeichen am Anfang
oder Ende entfernen |
|
Mit der Funktion trim können überflüssige
Zeichen sowohl am Ende als auch am Anfang eliminiert werden.
<?
$string=" Hat Leerzeichen am Anfang ";
print "/".$string."/";
$string=trim($string);
print "/".$string."/";
?>
Das Ergebnis sieht dann so aus:
/ Hat Leerzeichen am Anfang /
/Hat Leerzeichen am Anfang/
| Die
Funktion strlen: Ermitteln der Länge einer Zeichenkette |
|
<?
$string="Wie lang ist eigentlich diese Zeichenkette";
$laenge=strlen($string);
print $laenge;
?>
| Die
Funktion count_chars: Ermitteln wie oft die einzelnen
Zeichen in einer Zeichenkette vorkommen |
|
Für linguistisch Interessierte, die
schon immer mal wissen wollten, wie sich die Buchstaben im
Deutschen verteilen, also wieviel Prozent eines Textes ein
a und wieviel ein e etc. sind, gibt es die Funktion count_chars.
<?
$string="Ene mene meck und du bist weg";
$hash_Zeichen_wie_oft=count_chars($string);
foreach ($hash_Zeichen_wie_oft as $Zeichen=>$wie_oft)
{
print $Zeichen." ".chr($Zeichen)." $wie_oft<br>";
}
?>
Das Ergebnis zeigt die Gesamtheit aller
möglichen Zeichen und wie oft sie vorkommen. Aus Platzgründen
hier nur ein kleiner Ausschnitt.
105 i 1
106 j 0
107 k 1
108 l 0
109 m 2
110 n 3
In der Ascii Tabelle entspricht i dem Wert 105
und dieser taucht 1 Mal auf. n hat den Ascii Code 110 und
taucht 3 mal auf etc. Die Funktion count_chars produziert
also einen Hash, wobei das Zeichen im Ascii Code den Schlüssel
darstellt und der Wert die Häufigkeit des Vorkommens
ist. mit chr($Zeichen) können wir den Ascii Code in eine
Buchstaben konvertieren. Es wäre also ein leichtes, eine
Routine zu schreiben, die die statistische Verteilung der
Buchstaben zurückgibt.
| Die
Funktionen ucfirt, ucwords, stroupper: Kleinbuchstaben
in Großbuchstaben konvertieren |
|
Mit ucfirst können wir den ersten
Buchstaben einer Zeichenkette in einen Großbuchstaben
umwandeln, mit ucword alle Wörter einer Zeichenkette
und mit stroupper alle Buchstaben.
<?
$string="ich bin da";
$string=ucfirst($string);
print $string;
?>
Das Ergebnis ist "Ich
bin da".
<?
$string="ich bin da";
$string=ucwords($string);
print $string;
?>
Das Ergebnis ist "Ich
Bin Da".
<?
$string="ich bin da";
$string=strtoupper($string);
print $string;
?>
Das Ergebnis ist "ICH
BIN DA".
| Die
Funktion strtlower: Großbuchstaben in Kleinbuchstaben
umwandeln |
|
<?
$string="ICH BIN DA";
$string=strtolower($string);
print $string;
?>
Das Ergebnis ist "ich
bin da".
|