dedlfix: Text in einzelne Wörter splitten klappt nicht korrekt

Beitrag lesen

echo $begrüßung;

ich lese eine Textdatei ein und speichere den gesamten Inhalt Wort für Wort in einem Array. Als Trennungszeichen ist alles erlaubt außer [^a-zA-z;&] (; und & deswegen, damit Worte mit Umlauten nicht in der Mitte getrennt werden).

Nebensächliches: Wieso stehen da eigentlich HTML-Schreibweisen in einem Nicht-HTML-Kontext?

[...] finde ich doch plötzlich Wörter, die vor dem Umlaut abgeschnitten sind. Ich weiß aber nicht, was da der Fehler ist.

Den Fehler kann ich auch nicht nachvollziehen:

list (, , , , $content) = split("\|", 'pfadangabexyz.php|titel| | |blödsinn und lötzinn');
  var_dump($content);
  var_dump(spliti('[^a-z;&]', 'blödsinn und lötzinn'));

ergibt:

string(30) "blödsinn und lötzinn"
  array(3) {
    [0]=> string(13) "blödsinn"
    [1]=> string(3) "und"
    [2]=> string(12) "lötzinn"
  }

Wenn ich vor dem "Filtern" das Array ausgeben lassen scheint alles in Ordnung, aber danach nicht mehr.

var_dump() gibt dir auch die Zeichenanzahl im String aus. Stimmt die mir den von dir gezählten Zeichen überein, oder versteckt sich da vielleicht noch irgendein Sonderzeichen?

list ($egala, $egalb, $egalc, $egald, $content) = split("\|", chop($zeilen[$i]));

Nebensächliches: Nicht benötigte Werte benötigen keine Dummy-Variable. Sie können einfach ausgelassen werden, nur ein Komma muss stehenbleiben.

echo "$verabschiedung $name";