Zeilenumbruch im Quelltext

T

TMK

Hi,
Ich versuche mich gerade daran ein Forum in PHP zu programmieren. Ich weiß, es gibt genug, aber ich will mich in PHP damit üben.
Ich würde gerne in der Quelltextanzeige keine Zeilenumbrüche haben. Ich also ganz schlau gedacht Zeilenumbrüche im Quelltext sehen ja so aus "\n"
Ich möchte eine Datei einfügen ohne ihre Zeilenumbrüche, also wird die Datei erst in Arrays geladen und dann zusammengefügt. Anschließend sollen alle \n entfernt werden. Dann die Ausgabe. Folgender Befehl:
Code:
echo str_replace("\n","",implode("",file("./templates/meta.htm")));
Zeilenumbrüche sind leider immernoch da.
Bitte um hilfe.
Vielen Dank
TaucherMK

P.s.: Nein, ich will nicht verhindern das jemadn den Quelltext versteht, das Board soll OpenSource werden und ich werde nicht einmal Werbung in dem Forum verlangen wie viele es tun. Ich möchte die Datenmenge komprimieren.
 
Die Funktion implode () erwartet als zweites Argument ein Array und keine Datei! Dass musst du anders lösen!
 
Ive: [phpf]file[/phpf]. :rolleyes:

TaucherMK: Warum arbeitest du nicht mit [phpf]file_get_contents[/phpf]? Das ist wesentlich bequemer, einfacher und weniger fehleranfällig.
 
Also wenn du anfänger bist warum versuchst du nicht einfach erstmal ein GB zu schreiben oder so was. Denn ein forum schreiben ich net so einfach. Also ich meine aun gutes so ein ganz einfaches ohne Extras und so ist natürlich einfach.

Also mein Tipp fang mit was einfacherem an ein ein Gb oder so was in der art.
 
file_get_contents liefert einen String! Und die Funktion trim () erwartet ein String-Argument und entfernt alle überflüssigen Zeichen wie z.B. \n, \t etc.
Die Funktion sollte die richtige sein!
 
Versuch mal folgendes:
PHP:
$text = str_replace("\r\n","",implode("",file("./templates/meta.htm")));
$text = str_replace("\r","",$text);
$text = str_replace("\n","",$text);
echo  $text;
Je nach Editor, in dem die Datei erstellt wurde, sehen die Zeilenumbrüche nämlich unterschiedlich aus.

Gruß hpvw

EDIT: Da war einer schneller, aber trim() entfernt nur am Anfang und am Ende, nicht dazwischen.
 
trim() entfernt, wie gesagt die überflüssigen Zeichen am Anfang und am ende des Strings.
Wenn ich die Frage richtig verstanden habe, sollen alle Zeilenumbrüche, also auch die dazwischen liegenden entfernt werden.
Also soll, so wie ich es verstanden habe aus
HTML:
<html>
<head>
</head>
<body>
</body>
</html>
nun
HTML:
<html><head></head><body></body></html>
werden.
Ich denke, diese Zeilenumbrüche entfernt trim() nicht, zumindest nicht nach dem Handbuch.

Gruß hpvw

PS: Hast Du auch überlegt, ob Du Dir die überflüssigen Leerzeichen sparen willst?
 
@all helpers: Vielen Dank für eure Lösungsvorschläge. Letztendlich war es der Hinweis von hpvw der richtig war. Hab nen Editor benutzt der als Zeilenumbruch \r\n benutzt. Trotzdem vielen Dank für eure Antworten

@Spacejumper: Woher willst du wissen ob ich Anfänger bin? Ein Gästebuch habe ich bereits geschrieben und es funktioniert einwandfrei. Du wirst es nicht glauben, aber es hat sogar Bookcodes. Da staunst du was?
 
Zuletzt bearbeitet von einem Moderator:
Moin,

du hast dein Problem zwar schon gelöst, aber wie wäre es folgendermaßen:

PHP:
$output = '';
$array = file('./templates/meta.htm');
foreach ($array AS $value) {
    $output .= trim($value);
}
echo($output);

Vielleicht hilft's ja noch ;)...

Gruß thing
 
Zurück