Doppelte Zeilenschaltungen (New Lines bzw. Carriage Returns) in Datenbank durch einfache Zeilenschaltungen ersetzen

Wer zu Anfangszeiten den Fehler gemacht hat, doppelte Zeilenschaltungen für Absätze zu machen und P-Tags auf Margin 0 zu setzen und das Problem nun beheben möchte, weil die P-Tags korrekt als Absätze definiert werden sollen der kann das in der MySQL Datenbank wie folgt machen:

Um zu sehen, ob auch alles korrekt funktioniert zuerst ein kleiner Test, wir ändern ein Wort ab:

UPDATE tt_content SET bodytext = REPLACE(bodytext, 'Informationen', 'Informatiionen') WHERE uid = 443

Ein kurzer Check ob es funktioniert hat:

SELECT * FROM `tt_content` WHERE bodytext LIKE '%Informatiionen%' ORDER BY `pid` ASC

Der finale Code

Wird hier die Änderung richtig angezeigt dann kann es los gehen. Mit folgendem Befehl werden ALLE doppelten Zeilenschaltungen für Textelemente der Spalte „bodytext“ in der Tabelle tt_content durch einfache ersetzt:

UPDATE tt_content SET bodytext = REPLACE(bodytext, '\r\n\r\n', '\r\n')

 

Infos:
  • \r ist ein „carriage return„, kommt vom „Wagenrücklauf“ der Schreibmaschine und bedeutet soviel wie „zurück zum Zeilenanfang“.
  • \n bedeutet „new line“ und ist der Zeilenumbruch

Getestet auf einem Typo3 7.6 System.