aus <br /> nur eine(!) Leerzeile machen

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

aus <br /> nur eine(!) Leerzeile machen

Beitrag von Gumfuzi »

Ich habe einen Text in einem String, bei welchem ich gerne alle "<br />" in eine "Zeilenschaltung" umwandeln möchte. Das sollte ja mit

Code: Alles auswählen

$output = str_replace('<br />', chr(13).chr(10), $output);
zu realisieren sein.
Leider werden dann aber immer 2 leere Zeilen erstellt.

Wenn ich aber zB. "asdasd" . chr(13).chr(10). "khjkhjk" in ein Textfile am Server exportiere, dann ist da nur eine neue Zeile ohne Leerzeile (genau das, was ich mit dem obigen Code auch erreichen möchte)
Was mache ich da falsch?

Danke für eure Hilfe!
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Beitrag von cYbercOsmOnauT »

Browser erkennen CR (ASCII 13) und LF (ASCII 10) als "neue Zeile". Da Du (windowsgerecht) das <br /> mit CarriageReturn-LineFeed ersetzt, werden dort dann 2 "neue Zeilen" angezeigt.

Mach mal

Code: Alles auswählen

$output = str_replace('<br />', chr(13), $output);
Liest Du das Textfile per Browser oder per Notepad? Mit Notepad sollten da keine 2 Leerzeilen entstehen. Wenn Du meinen Weg gehst, zeigen die Browser die Leerzeilen richtig an, aber Notepad erkennt keine neue Zeilen mehr. :D

Gruß,
Tekin
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

Beitrag von Gumfuzi »

Danke für die rasche Antwort!

Ich habe einen Konverter gemacht, der jeden KB-Artikel ausliest und den HTML-Code des Artikels in eine Textdatei (pro Artikel) schreibt, nachdem die verschiedenen HTML-Tags in Wikitags umwandelt worden sind (mit str_replace und preg_replace).

Diesen Text aus der Textdatei kopiere ich dann und fügen den per copy&paste in das bearbeiten-Feld von meinem Mediawiki ein.
Zwar kann Mediawiki die <br />-Tags richtig umwandeln, aber beim Editieren des Mediawiki-Artikels stören die dann in puncto Übersichtlichkeit. Es soll eben im fertigen Wiki-Text dann der Zeilenumsprung sein und auch im bearbeiten-Fenster des Wikis.

Habe nun mal genauer das ganze verfolgt und schon beim einfügen in das bearbeiten-Feld wird aus dem chr(13) zwei Zeilen, also noch bevor ich dann auch "Vorschau" klicke.
Hängt wahrscheinlich mit der von Dir beschriebenen Darstellungsvariante (Notepad - Browser) zusammen.

Also:
bei Deiner Variante scheint im Notepad ein nicht ganz Quadratisches Zeichen auf (kann es nicht hier einfügen, da ich dann automatisch hier beim Posten in die nächste Zeile komme, übrigends so soll es dann auch im Mediawiki-Fenster sein)
bei meiner Variante sind die zwei zeilen bereits in der txt-Datei am Server zu sehen.

Hier beim Postingeingabefester auf phbb.de wird es richtig umgeschlüsselt - beim Mediawiki nicht.

Hat das ev. etwas mit der Codierungs zu tun oder wo liegt sonst der Fehler? Hier auf phbb.de ist es "iso-8859-1" und beim Mediawiki ist es "utf-8"

Danke nochmal für Deine Hilfe!

*edit*
Habe soeben entdeckt, daß Mediawiki eine Leerzeile ignoriert, d.h. eine Leerzeile ist das <br /> und zwei Leerzeilen sind 2 Leerzeilen

Ist somit erledigt!
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Beitrag von cYbercOsmOnauT »

Nachtrag: Der Rechteck wird angezeigt wenn dort ein Zeichen steht, den Notepad nicht darstellen kann.
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

Beitrag von Gumfuzi »

danke, gut zu wissen!
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17476
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitrag von Dr.Death »

Nimm daher einen etwas besseren Editor: Notepad++

Findest Du bestimmt über Google ;-)
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

Beitrag von Gumfuzi »

Als Editor habe ich Edit Plus.

Nur die Dateien vom FTP lasse ich mir gerne von Notepad anzeigen.
Antworten

Zurück zu „Coding & Technik“