dedlfix: Mit preg_match Teil des Titel-Tags auslesen

Beitrag lesen

Tach!

Wie bekomme ich das hin, nur einen TEIL des Titels zu erhalten? Alle Versuche haben nichts gebracht. Meine Titel sehen so aus: "Text | Website-Name". Ich möchte allerdings nur den ersten Teil auslesen, bis zum "|".
preg_match('/<title>(.*|)/i', $file, $titel);

Schön wäre es gewesen, wenn du geschrieben hättest, was du stattdessen bekommst. Dann könnte man schneller vermuten, was schief läuft. Wenn der | nicht eine Sonderbedeutung als Oder hätte, würdest du alles bis zum letzten Vorkommen eines | bekommen, denn reguläre Ausdrücke sind gierig. Die Sonderbedeutung des | kannst du mit einem \ davor umgehen. Wenn der | nicht mit im Ergebnis sein soll, wäre es gescheit, nicht .* sondern alles was kein | ist zu wählen: ([^|]) Innerhalb der Zeichenklasse hat der | keine Sonderbedeutung, weswegen er hier allein dastehen kann. Wenn der | mit zum Ergebnis zählen soll, muss er noch mit in die Gruppierung aufgenommen werden: ([^|]|)

dedlfix.