Patrick: Umbrüche, Tabs und multiple Leerzeichen löschen

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

  1. 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

    --
    Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
    (Victor Hugo)
    Veranstaltungsdatenbank Vdb 0.1
  2. 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

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
    [HTML Design Constraints: Logical Markup]
    1. 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

      --
      Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
      (Victor Hugo)
      Veranstaltungsdatenbank Vdb 0.1
  3. 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

    --
    Auch meine Hosenträger sind intelligent, in dem Sinne, dass man sie regulieren kann. Sie besitzen ein adaptives Verhalten.
    Stanisław Lem