Bei dynamischen Lösungen ist es oft wichtig zu wissen, mit welchem Inhalt man es zu tun hat, um entsprechende Entscheidungen treffen zu können. Das ist im Falle von Text und PHP durchaus machbar, denn es stehen mit strpos und strrpos zwei PHP-Befehle zur Verfügung, die den Text abfragen können. Der erste Befehl arbeitet von links nach rechts, der zweite in der Gegenrichtung.
Dabei wird nicht gekürzt wie etwa bei substr oder strstr, sondern man will wissen, ob eine bestimmte Zeichenkette im vorliegenden Text vorhanden ist oder nicht. Solche Situationen gibt es im Skript sehr häufig und werden meist mit der if-Abfrage eingesetzt.
Webhosting mit viel Software bei Alfahosting (Affiliate-Link)
<?php
$beispieltext = "LASK,Sturm Graz,Austria Wien,Rapid Wien,Red Bull Salzburg";
echo $beispieltext."
";
echo strpos($beispieltext, "R")."
";
echo strrpos($beispieltext, "R");
?>
ergibt:
LASK,Sturm Graz,Austria Wien,Rapid Wien,Red Bull Salzburg
29
40
Im Grunde ist die Überlegung dieser beiden Befehle ident mit jener des vorherigen Artikels über strstr und strrchr, denn es wird abgefragt, ob es das Zeichen R gibt. Doch im Gegensatz zu den genannten Befehlen dient strpos bzw. strrpos nur der Informationen, eine Textkürzung findet nicht statt. Wenn Sie den Text auch kürzen wollen, sollten Sie sich die vorherige Seite ansehen.
Der PHP-Befehl strpos durchsucht den Text der Variable $beispieltext auf das große R. Er beginnt links mit der Arbeit und geht solange nach rechts, bis der Text beendet ist oder das Zeichen gefunden wurde. Im aktuellen Fall findet er das große R in Rapid an der Stelle 29 und meldet diese Information zurück.
Webhosting bei Alfahosting - jetzt gratis testen! (Affiliate-Link)
Mit dem PHP-Befehl strrpos arbeitet man auf gleiche Weise, nur beginnt dieser Befehl am Ende des Textes und arbeitet sich nach vorne. Daher findet er das R bei Red Bull Salzburg und meldet die Position 40.
Die beiden Befehle arbeiten also auf gleiche Weise, können aber völlig unterschiedliche Ergebnisse liefern, weil sie auf unterschiedlichen Seiten mit dem Durchsuchen beginnen. Will man wissen, ob ein bestimmtes Wort in einem übertragenen Text enthalten ist, sind diese beiden Befehle eine interessante Option. In der Praxis könnte man sie zum Beispiel dafür nutzen, Spam zu filtern, indem man die Existenz von bösen Wörtern bei Formulareintragungen abfragt. Melden die Befehle 0 zurück, dann ist der Text in Ordnung, andernfalls wird nicht gespeichert oder gemailt und es gibt eine Fehlermeldung.
PHP + Text ist ein sehr wichtiges Thema in vielen Skripte, die mit PHP programmiert werden. Denn man hat es oft mit Text zu tun, den externe Personen in Formulare eingeben - inklusive in Redaktionssysteme. Der Text soll aber perfekt aussehen und daher braucht es Werkzeuge, um ihn zu hinterfragen, zu kürzen, zu ersetzen oder überhaupt zu löschen.
Die Basiswerkzeuge können dabei helfen, dass man unnötige Leerzeichen in die Wüste schickt oder dass man den Text in Großbuchstaben umwandelt - vollkommen automatisch, versteht sich. Auch die Aufteilung eines vorgegebenen Textes mittels explode in ein Array ist als Voraussetzung für weitere Bearbeitungen wichtig.
Und dann gibt es noch viele weitere Möglichkeiten, was mit dem Text gemacht werden kann. Man kann mit substr den Text auf die gewünschte Länge kürzen, man kann aber auch eine Abfrage durchführen, ob der Text eine bestimmte Zeichenkette beinhaltet. Mit str_replace kann man überhaupt gleich den Text ersetzen oder löschen und mit htmlentities die Sonderzeichen codieren.
Themenseiten
Grundlagen
HTML-Grundlagen
CSS-Grundlagen
Javascript-Grundlagen
PHP-Grundlagen
MySQL-Grundlagen
SEO-Grundlagen
Infos, Tipps, Vermarktung
Webdesign-Lexikon
Online-Werbung
PHP-Codeschnipsel
Praxisartikel