nl2br(); für <br>

bspainkf36

Erfahrenes Mitglied
Hey,
irgendwie ist es schwierig mein Problem kurz(Titel) zu beschreiben. Ich habe ein altes Gästebuch, aus dem ich die Datensätze extrahiert haben. Leider habe ich beim alten Gästebuch direkt in das Textfeld die <br>, anstatt später die nl2br() Funktion zu benutzen, geschrieben. Jetzt wäre meine Frage, ob es die Möglichkeit gibt, die <br> durch das Sonderzeichen für den Zeilenumbruch zu ersetzen? Danke für die Hilfe

Viele Grüße Kon
 
Jetzt im Nachhinein meinst du, sodass er das dann so in der DB speichert?
Ich dneke nicht, das wirst du nur manuell hinbekommen!
 
Japp, die <br> durch das Sonderzeichen ersetzen und in der DB abspeichern, so dass man anschließen die Möglichkeit hat, die erwähnte Funktion zu nutzen. Wenn es nicht geht, bin ich leider gezwungen, es weiterhin so zu umzusetzen wie bisher. Aber eigentlich ist es nur ein Zeichen oder ?
 
Dukannst dir sicherlich ien Script schreiben was die Daten ausliest, das vorkommende Zeichen ersetzt, und dann den Eintrag Updated!
Kein Problem, aber das bekommst du selber hin, oder?
 
Gott ...
PHP:
$Qry = mysql_Query("select `id`, `text` from `gbook`") or die(mysql_Error());
while($Row = mysql_Fetch_Assoc($Qry)) {
  $sql = "
  update 
    `gbook` 
  set 
    `text` = '".str_replace('<br>','\n', $Row['text'])."' 
  where 
    `id` = '".$Row['id']."' ";
  mysql_Query($sql) or die(mysql_Error());
}
 
Probier mal Folgendes:
PHP:
preg_replace('/<\s*br\s*\x2F?>/i', '', $string)
Dies löscht alle möglichen Vorkommen einer HTML- oder XHTML-Deklaration eines br-Elements.
 
Wenn ich dich richtig verstanden habe brauchst du das:
PHP:
function br2nl($text)
   {
       $text = str_replace("<br />","",$text);
       $text = str_replace("<br>","",$text);
       return $text;
   }
Damit kannst du (entsprechende Schleife vorausgesetzt) alle <br> oder nach der neuen Schreibweise <br/> in \n ersetzen.
 
Zurück