dedlfix: Frage zum output buffer, Array, Variable

Beitrag lesen

echo $begrüßung;

Ich möchte ja auch die Ähnlichkeit berechnen, wenn ich jetzt den String der als Inhalt den kompletten Text hat vergleiche ist das nicht möglich oder doch?

Gut, das eher weniger. Aber vielleicht ist auch die Wortliste dafür nicht völlig geeignet, da man ja manche Wörter getrennt und zusammen schreiben kann, sowohl im Text als auch bei der Eingabe der Suchwörter.

RegExp ist doch das mit den "komischen" Zeichen, was aber doch sehr mächtig ist,

Reguläre Ausdrücke sind sehr mächtig, aber nicht allmächtig. Der Preis dafür ist seine langsamere Ausführung, was bei einfachen Dingen, die mit spezialisierteren Funktionen erledigt werden können, zu sehen ist.

das habe ich noch nie kapiert, wie man da bestimmte Zeichen ausschließen kann oder suchen kann.

Als erstes gilt es, die Regel möglichst genau festzulegen. Dabei ist es hilfreich, die Möglichkeiten Regulärer Ausdrücke zu kennen, doch wichtiger ist die Analyse des Problems.
Um beispielsweise Wörter zu suchen beschreibt sich das Muster so: eine Wortgrenze, gefolgt von einem oder mehreren Buchstaben, gefolgt von einer Wortgrenze. Umgesetzt in einen Regulären Ausdruck sieht das so aus:
\b - Wortgrenze
[a-zA-Z] - Zeichenklasse, enthält a bis z und A bis Z [*]

    • ein oder mehrmals
      \b - Wortgrenze

Zusammengefasst sieht das so aus: \b[a-zA-Z]+\b
Um nur das gesuchte Wort zu erhalten, kann man noch mit ()-Klammern die Stelle kennzeichnen, die man im Ergebnis haben möchte, also: \b([a-zA-Z]+)\b
Wie man damit weiterarbeitet steht auf einem andern Blatt (oder im PHP-Handbuch). Außerdem sollte dies nur mal ein einfaches Beispiel sein. Um Reguläre Ausdrücken kennenzulernen sollte sich reichlich Literatur im Netz finden.

[*] Alternativen:

  • [a-z] und den PCRE_CASELESS-Modifizierer verwenden
  • \w für Wortzeichen

echo "$verabschiedung $name";