Zählen von Substrings in einer Zeichenkette mit PHP und substr_count()

08. November 2011  |  Kommentar schreiben   |  Tags: , ,



Bei Facebook teilen

Viele PHP Programmieraufgaben lassen sich mit der Kombination verschiedenster Funktionen erledigen. Für manche bietet aber PHP bereits fertige Funktionen, die zum einen schneller sind, zum anderen einfacher einzusetzen sind. Einen solchen Beispiel werden wir heute veranschaulichen – wie können Substrings innerhalb einer Zeichen gezählt werden?

Problematik

Sie wollen gerne wissen, wie oft das Wort Buch in der Zeichenkette “Buch im Buchhandel” vorkommt, ohne immer wieder nach dem Wort Buch mit PHP zu suchen, den gefundenen String auszuschneiden und weiter zu suchen? Das lässt sich ganz einfach mit der Funktion substr_count erledigen, folgendermaßen:

Lösung 1

$nAnzahl = substr_count("Buch im Buchhandel", "Buch");

Anbei die Erläuterung – als erster PHP Parameter geben Sie die Zeichenkette ein, in der gesucht wird und als zweiter Parameter geben Sie das gesuchte Wort ein. $nAnzahl ist eine Zahl, die Sie von PHP als Ergebnis bekommen. Somit ist Ihre Programmierung schnell und kompakt. Folgendes sollten Sie aber beachten:

  • Die Funktion zählt nicht doppelt, wenn das zweite Vorkommen eines Strings innerhalb des ersten anfängt.
  • Die Funktion zählt unter Beachtung von Groß- und Kleinschreibung. Das bedeutet, das Wort buch kommt in unserer Beispelszeichenkette gar nicht vor.

Lösung 2 – Suche ohne Beachtung von Groß/Kleinschreibung

$nAnzahl = substr_count(strtolower("Buch im Buchhandel"), strtolower("Buch"));

Ganz einfach – wenn Sie suchen wollen, ohne großartig Groß- und Kleinschreibung zu berücksichtigen, so können Sie vor dem Aufruf der PHP Funktion substr_count eine andere PHP Hilfsfunktion aufrufen – strtolower(). Diese wandelt automatisch alle Buchstaben in Kleinbuchstaben um. Somit bekommen Sie einen Programmierergebnis für alle mögliche Treffer.

Einsatz und Fazit

Diese können können Sie immer verwenden, wenn Sie detaillierte Information über die Aufteilung von Wörten innerhalb eines Text mit PHP in Erfahrung bringen möchten. Diese nutzen wir für unsere Suchmaschinenoptimierung, von der Sie auch profitieren können.

Brauchen Sie schnelle und zuverlässige Programmier-Hilfe für Ihre Programmierungen oder MySQL Abfragen? Wir sind für Sie da – zögern Sie nicht mit uns per E-Mail oder telefonisch – 02161 / 177747 – Kontakt aufzunehmen. Schauen Sie sich unsere Leistungen an.

Teilen

Hinterlasse eine Antwort

Du musst angemeldet sein, um einen Kommentar abzugeben.