Leerzeichen entfernen
Heinzo Carlo
- php
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
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.
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
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
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 –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
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