Umbrüche, Tabs und multiple Leerzeichen löschen
Patrick
- php
Moin,
ich lese eine Datei mit HTML-Inhalt aus, lösche mit strip_tags die Tags und ersetze mit ereg_replace Textausschnitte für bessere Lesbarkeit. Der so erhaltene Plaintext wird dann mit entsprechender vordefinierter Syntax in eine wml-Datei (WAP-Seite) geschrieben.
Zwar wird alles korrekt angezeigt, jedoch ist die erhaltene Datei extrem aufgeblasen - Zeilumbrüche (nicht <br>, z.B. /n im Quelltext) und Tabspaces werden im String gespeichert. Wie lautet die Regular Expression oder Funktion, mit welcher ich alles außer dem Text und einzelnen Leerzeichen eliminiere?
Gruß
Patrick
Hallo
ich lese eine Datei mit HTML-Inhalt aus, lösche mit strip_tags die Tags und ersetze mit ereg_replace Textausschnitte für bessere Lesbarkeit. Der so erhaltene Plaintext wird dann mit entsprechender vordefinierter Syntax in eine wml-Datei (WAP-Seite) geschrieben.
Zwar wird alles korrekt angezeigt, jedoch ist die erhaltene Datei extrem aufgeblasen - Zeilumbrüche (nicht <br>, z.B. /n im Quelltext) und Tabspaces werden im String gespeichert. Wie lautet die Regular Expression oder Funktion, mit welcher ich alles außer dem Text und einzelnen Leerzeichen eliminiere?
Für überschaubare Aufgaben gibt es gleich mehrere Möglichkeiten, dies mit Stringfunktionen zu erledigen. Dazu musst du nicht die regex-Maschinerie anschmeißen.
strtr
str_replace
Tschö, Auge
Hallo Patrick.
Wie lautet die Regular Expression oder Funktion, mit welcher ich alles außer dem Text und einzelnen Leerzeichen eliminiere?
Da du vermutlich Wörter als solche erkennbar lassen möchtest, genügt wohl bereits trim.
Einen schönen Sonntag noch.
Gruß, Ashura
Hallo
Wie lautet die Regular Expression oder Funktion, mit welcher ich alles außer dem Text und einzelnen Leerzeichen eliminiere?
Da du vermutlich Wörter als solche erkennbar lassen möchtest, genügt wohl bereits trim.
Das Ausgangsposting lässt mich vermuten, dass es nicht nur um Zeichen am Anfang und Ende des Strings geht. Allerdings ist in der Beschreibung der Funktion schön aufgelistet, welche Zeichen in ein Array der zu ersetzenden Zeichen z.B. für die Funktion strtr gehören (Beispiel 2).
Tschö, Auge
Nabend Patrick,
ich lese eine Datei mit HTML-Inhalt aus, lösche mit strip_tags die Tags und ersetze mit ereg_replace Textausschnitte für bessere Lesbarkeit. Der so erhaltene Plaintext wird dann mit entsprechender vordefinierter Syntax in eine wml-Datei (WAP-Seite) geschrieben.
Zwar wird alles korrekt angezeigt, jedoch ist die erhaltene Datei extrem aufgeblasen - Zeilumbrüche (nicht <br>, z.B. /n im Quelltext) und Tabspaces werden im String gespeichert. Wie lautet die Regular Expression oder Funktion, mit welcher ich alles außer dem Text und einzelnen Leerzeichen eliminiere?
Wenn du dich dazu durchringen könntest, statt ereg_replace() preg_replace() zu verwenden, dann wäre der Platzhalter \s für alle üblichen Whitespace-Zeichen eine Lösung für dich:
$neu = preg_replace('/\s+/', ' ', $alt)
MffG
EisFuX