URL: https://www.overclockers.at/coding-stuff/solvedmit_php_absaetze_aus_strings_entfernen_110256/page_1 - zur Vollversion wechseln!
Hallo!
Ich versuche gerade ein gästebuch in php zu coden...
Es funktioniert schon ganz gut nur gibts das Problem, dass bei einer Eingabe mit Absätzen der String diese Absätze beibehält.
Das ist insofern blöd weil ich jeden Eintrag in einer einzelnen Zeile speichere und durch die Absätze wird jedes Mal eine neue Zeile angefangen...
Kennt wer eine Funktion die einen String nach Absätzen durchsucht und diese entfernt?
Für andere Lösungsvorschläge bin ich natürlich auch sehr dankbar =)
Tia
mfG Sokrates
$out=ln2br($in);
findest du es wirklich gut, die zeilenumbrüche zu verwerfen? ich würd mir da als user etwas verarscht vorkommen 
escapen (\n-->\\n) wäre eine alternative
Danke für die schnellen Antworten...
@ Colossus...mit der funktion nl2br kommt folgende ausgabe:
Code:Hugo 123|asda@|sdasda<br /> asd<br /> asd<br /> asd<br /> asd<br /> asdas<br /> dasd<br /> asd<br /> |21-March-2004 13:47:47
versuch str_replace("\n","",$in);
Hmmm versuch mal $text = str_replace("\n", "<br>", $text);
btw würde ich als Trennzeichen nicht | verwenden, da das ja auch im Text oder im Namen vorkommen kann. Verwende am besten chr(27) oder so was...
//edit: hehe collossus war schneller
str_replace haut leider auch nicht hin...
danke für den tip mit chr(27) ist eine gute idee!
ich glaub ich bastel mir eine eingene funktion, danke für eure hilfe!
mfG Sokrates
speicherst du in einem file oder in einer db?
in einem File...
weißt du eine Lösung?
also, du machst es so:
$text = str_replace("\n", "<br>", $text);
$out = $name.chr(27).$email.chr(27).$title.chr(27).$text.chr(27).$date
ich hoffe du verstehst wie ich das meine...
vielleicht hilft dir dass.. aber insgesamt kann ich mir nicht vorstellen, dass du wirklich die absätze löschen willst. es ist eigentlich egal wieviele zeilen du bei einem entry hast. nimm einfach einen seperator bzw. eine sequenz (zB: ?|?) und trenn deine einträge damit.
hier ist das was du wolltest:
Code: PHP<?php $pFile = fopen("gb.dat","r+"); if (!$pFile) $pFile = fopen("gb.dat","w") or die("Error: Could not create file!"); else { $szContent = fread($pFile,filesize("gb.dat")); $aEntries = explode("\r\n",$szContent); } if (isset($szEntry) && $szEntry != "") { $szEntry = str_replace("\n"," ",$szEntry); fwrite($pFile,$szEntry."\r\n"); $aEntries[] = $szEntry; echo "New entry added!<br>"; } if (isset($aEntries) && count($aEntries) > 0) { $szEntries = ""; foreach($aEntries as $nKey => $szEntry) { $szEntries .= "Entry $nKey: $szEntry<br>"; } } fclose($pFile); ?> <html> <body> <form method="post"> Eintrag:<br> <textarea name="szEntry" cols="40" rows="8"></textarea> <input type="submit" value="gib ihm" name="submitEntry"> </form> <hr> <?php echo $szEntries ?> </body> </html>
So jetzt ist es gelöst!
das \r war auch wichtig.....Code: PHP$message2=str_replace("\r"," ",$message2); $message2=str_replace("\n"," ",$message2);
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026