Heinzo Carlo: Leerzeichen entfernen

Hallo,

ich stehe hier vor einem Problem.

Also ich habe ein String wo HTML Tags drin stehen, gibt es eine Möglichkeit Zeilenumbrüche aus dem String zu löschen?

Also ich lese den HTML Code aus einer Text Datei aus aber der String darf bei mir keine Zeilenumbrüche haben. Ich meine damit nicht /n
sonder der normalen Zeilenumbruch den man in notepad etc mit Enter erzeugt. Gibt es eine Möglichkeit die Zeilenumbrüche zu entfernen?

Ich habe schon nach PHP Funktionen gesucht aber keine gefunden vielleicht suche ich auch an der falchen Stelle?

Vielleicht kann mir jemand sagen wo ich suchen kann?

Danke!

Gruß Heinzo Carlo

  1. Hallo!

    Die Sachen mit \n ist ja schon mal nicht schlecht. Jetzt weuß ich nicht genau, welchen Zeilenumbruch der Notepad erzeugt. Aber wenn du sowowhl die \n-Umbrüche als auch die \r-Umbrüche entfernst, sollten keine mehr in deinem Dokument übrig bleiben.

    1. Hallo,

      Ok Du wirst recht haben \n sind die Zeilenumbrüche die mir in Notpade dargestellt werden.

      Nur wie kriege ich die \n weg mit shop() geht es nicht.

      \r sagt mir gar nichts ich kenne nur \t für Tabulator.

      Gruß Heinzo

      1. hi,

        Ok Du wirst recht haben \n sind die Zeilenumbrüche die mir in Notpade dargestellt werden.
        Nur wie kriege ich die \n weg mit shop() geht es nicht.

        was ist shop() - redest du von chop()?

        da täte ein blick ins manual gut, "chop -- Entfernt Leerzeichen, Tabulatoren und Zeilenvorschübe am String-Ende" (beachte die letzten drei worte).

        ich würde dir str_replace vorschlagen.

        gruss,
        wahsaga

        1. Also ich meinte auch chop()

          Ich habe es aber mit trim() gemacht aber da wird mir nichts entfernt?

          Ich habe ich der Varibale $content folgendes stehen:

          <P><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2><STRONG>Herzlich Willkommen im Bergen Land!<BR></STRONG></FONT></P>
          <BLOCKQUOTE>
          <P><FONT face="Verdana, Arial, Helvetica, sans-serif" size=1>bla bla bla text text</FONT></P>
          <TABLE cellSpacing=5 cellPadding=0 border=0>
          <TBODY>
          <TR vAlign=top align=left>
          <TD width=250>
          <P><FONT face="Verdana, Arial, Helvetica, sans-serif" size=1>xxx<BR>Mayer Schulze <BR></FONT><FONT face="Verdana, Arial, Helvetica, sans-serif" size=1>Bergstr. 8, <BR>99999 Bergenbeck</FONT></P>
          <P><FONT face="Verdana, Arial, Helvetica, sans-serif" size=1>Tel. 0 562 01 - 93 14 3-0, <BR>Fax 0 465 01 &#8211;93 15 3 - 99</FONT></P>
          <P><FONT face="Verdana, Arial, Helvetica, sans-serif" size=1>E-Mail <A href="mailto:spam@neumann.de">spam@neumann.de</A></FONT></P></TD>
          <TD width=250>
          <P><FONT face="Verdana, Arial, Helvetica, sans-serif" size=1><IMG height=131 hspace=5 src="http://cms/images/logo.jpg" width=210 align=right vspace=5></FONT></P></TD></TR></TBODY></TABLE></BLOCKQUOTE>

          Und wie man auch sehen kann sind dort Zeilenumbrüche und drin... Ich kriege die irgendwie nicht raus. Er soll mir aber auch nicht die leer Zeichen innerhalb der Tags killen dann geht nichts mehr...

          Und laut der Beschreibung von trim() sollte es auch funktionieren oder liegt ein Denkfehler bei mir vor?

          Also wenn ich folgendes mache wird nicht geändert!
          $content = trim($content);

          echo $content;

          oder wenn ich auch folgendes machen ändert sich nichts in der Ausgabe?

          $content=str_replace("\n", "", $content);
          echo $content;

          Habe ich da ein Denkfehler drin?

          Gruß Heinzo

          ich würde dir str_replace vorschlagen.

          gruss,
          wahsaga

          1. Hallo,

            Und wie man auch sehen kann sind dort Zeilenumbrüche und drin... Ich kriege die irgendwie nicht raus. Er soll mir aber auch nicht die leer Zeichen innerhalb der Tags killen dann geht nichts mehr...

            Und laut der Beschreibung von trim() sollte es auch funktionieren oder liegt ein Denkfehler bei mir vor?

            RTFM.
            trim() entfernt nur Leerzeichen am Anfang und am Schluss des Strings.

            Such Dir unter den String-Funktionen von PHP
            http://www.php.net/manual/de/ref.strings.php
            eine aus, die "Suchen und Ersetzen" betreibt, z.B. str_replace()
            http://www.php.net/manual/de/function.str-replace.php

            Dann ersetze damit folgendes:
            "\n" => "" (Alle \n-Zeilenumbrueche loeschen)
            "\r" => "" (Alle \r-Zeilenumbrueche loeschen)
            "  " => " " (Zwei Leerzeichen durch eines ersetzen).

            Das sollte vermutlich das gewuenschte Ergebnis bringen, ansonsten
            beschreibe nochmals kurz, genau und verstaendlich, was Du eigentlich willst.

            Gruesse,

            Thomas