siro: Newsfeed per RegEx verarbeiten

Beitrag lesen

Hallo Alex.

ich möchte auf meiner Website verschiedene Newsfeeds verarbeiten. Mit Regulären Ausdrücken in PHP habe ich mich jetzt das ganze Wochenende ohne nennenswerten Erfolg herumgeschlagen; ich bekomme im Netz verfügbare Scripte einfach nicht angepasst :-(

Warum probierst du es dann nicht mal von Anfang an selbst?
Reguläre Ausdrücke sind ja recht kryptisch und wenn du einen anpasst, der nicht sonderlich kommentiert ist,
so wirst du oft Dinge übersehen.

Dazu kommt, dass alle Newsfeeds *irgendwie* gleich aufgebaut sind - aber eben doch nicht identisch.

Dann finde die Teile heraus die immer gleich sind und füge für den Rest geeignete Platzhalter bzw Alternativen ein.
Mit () kannst du dann die submatches speichern.
Grundsätzlich sieht es so aus:
/<item>
 (?:<(.*?)>(.*?)</.*?>)+?
</item>/x;
Allerdings akzeptiert dieser Ausdruck fast alles.
Wenn dein Feed aus irgendwelchen Gründen fehlerhaft ist,
kannst du sehr interessante Fehler bekommen.
Eine Syntaxprüfung wäre dann sinnvoll, allerdings brauchst du dafür
AFAIK mindestens mehrere Ausdrücke...

Vielleicht kann mir auch jemand sagen, wie ich in PHP eine Zeichenkette bis max. n Zeichen auslesen kann, aber beim letzten Leerzeichen vor dem n-ten Zeichen abbrechen kann, wenn das n-te Zeichen mitten in einem Wort ist...

Also beliebige Zeichen '.' zwischen 0 und n-1 '{0,n-1}' und ein Leerzeichen ' '.
Ist doch gar nicht so schwer. (-:

MfG _Siro.