ERLEDIGT
JA
JA
ANTWORTEN
17
17
ZUGRIFFE
961
961
EMPFEHLEN
-
22.07.06 11:05 #1
- Registriert seit
- Sep 2005
- Beiträge
- 705
Naja
hallo wieder mal.
Ich bin zurzeit mit einem Gästebuch beschäftigt und hab da nun ein kleines Problem.
Die Einträge werden aus dem Textfile rausgelesen und das klappt ja wunderbar. Nur hab ich ein kleines Problem wie gesagt. Wenn jetzt einer einen Eintrag schreibt und eben einen absatz oder so macht, dann ist das bei meinem Script kein Absatz sondern das ganze ist dann gleich als neuer Eintrag und besetzt gleich eines meiner Templates.
Die Daten stehen in einem Textfile und jeder Eintrag in einer Eigenen Zeile. Die Verschieden Sachen wie Name, Datum, Beitrag etc. sind durch |-| Getrennt.
Um nun zu meiner Frage zu kommen. Wie kann ich den Zeilenumbruch oder Absatz den jemand in seinem Eintrag macht so umwandeln, dass er dann beim auslesen so entsteht und eben nicht gleich ein eigenes Template wieder braucht?
-
Hi,
wandel doch den Zeilenumbruch("\n") in ein Spezial-Zeichen um. Zbs.: "@[U]" oder sowas.
Und später beim Auslesen erstetzt du das wieder durch ein Zeilenumbruch
MArcKryn.cms - einfach anders.
"When you're talking about webserver, as it is, with no rules, well then, baby you'd better block every tiny hole of your server!" - MArc (inspired by Bruce L.)
-
Hi,
versuche es mal so:
und das schreibst du nun in die Textdatei.PHP-Code:$eintragen = str_replace("\n","<br>",htmlentities(stripslashes($_POST['eintrag'])));
schieseGeändert von schiese (22.07.06 um 12:06 Uhr)
-
Am besten lässt du ihn gleich per nl2br() durch ein <br /> ersetzen.
-
22.07.06 12:04 #5
- Registriert seit
- Sep 2005
- Beiträge
- 705
Danke schon mal werde es versuchen
Geändert von -GS-Master (22.07.06 um 12:11 Uhr)
-
30.07.06 20:39 #6
- Registriert seit
- Sep 2005
- Beiträge
- 705
Sehr schoen, das würde funktionieren, nur leider hab ich das Problem, daser mir das ganze nicht so in die Textdatei schreibt
Wie das ganze jatest<br />test<br />test
eigentlich sein sollte sondern,
und somit wird das ganze wieder unbrauchbar, weil er mir das ganze dann wieder so wie zufor auf die Templates aufteilt. Könnt ihr mir sagen, wie ich das ganze wenn es so in ein formular eingegeben wirdtest<br />
test<br />
test
dann dennoch in einer Zeile in eine Textdatei geschrieben wird ?test
test
test
-
Hi,
ich weiß zwar nicht, wie du es versuchst, aber bei mir funktioniert folgendes:
schiesePHP-Code:$eintragen = $_POST['eintragen'];
$rein = str_replace("\n","<br />", $eintragen);
$datei = "datei.txt";
$fp = fopen($datei,"w");
fwrite($fp,$rein);
fclose($fp);
-
30.07.06 21:16 #8
Hallo!
Gruss Dr DauPHP-Code:$rein = str_replace("\r\n","<br />", $eintragen);
Schri-Schra-Schrödi *g*
mehrspaltiges/zeiliges Seitenlayout mit DIV's und CSS
Dinge, die mit Tabellen besser klappen als mit CSS
Ausgabe von Datum/Zeit unabhängig von der Server Zeitzone [php]
Meine Links zum Thema Linux (Last update: 29.10.2011)
Kein Busen ist so flach wie das Niveau dieser Party!
----
Alte Weisheit: wer uns in den Arsch kriecht wird beschissen!
----
Ich habe 3 Kinder und kein Geld!
Warum kann ich nicht keine Kinder haben und 3 Geld?! (Homer Jay Simpson)
-
Ich habe nichts geschrieben
Geändert von schiese (30.07.06 um 21:21 Uhr)
-
30.07.06 21:38 #10
@schiesse, hast Du Dir denn mal das Ergebins von "\n" und "\r\n" angesehen?
Dass umwandeln mit "\n" fügt zwar ein <br /> ein, wandelt aber den tatsächlichen Zeilenumbruch in ein UNIX-Zeilenumbruch um (zu erkennen an den schwarzen Rechtecken, wenn man die Textdatei mit Notepad öffnent).
Dass umwandeln mit "\r\n" hingegen fügt ein <br /> ein und entfernt den tatsächlichen Zeilenumbruch.
Ein nl2br() hingegen fügt lediglich ein <br /> an das Zeilenende an..... der Zeilenumbruch selbt bleibt aber bestehen.
Da bei ihm aber jede Zeile einen neuen Datensatz darstellt, macht sowohl der tasächliche, als auch der UNIX-Zeilenumbruch Probleme.Schri-Schra-Schrödi *g*
mehrspaltiges/zeiliges Seitenlayout mit DIV's und CSS
Dinge, die mit Tabellen besser klappen als mit CSS
Ausgabe von Datum/Zeit unabhängig von der Server Zeitzone [php]
Meine Links zum Thema Linux (Last update: 29.10.2011)
Kein Busen ist so flach wie das Niveau dieser Party!
----
Alte Weisheit: wer uns in den Arsch kriecht wird beschissen!
----
Ich habe 3 Kinder und kein Geld!
Warum kann ich nicht keine Kinder haben und 3 Geld?! (Homer Jay Simpson)
-
30.07.06 21:41 #11Was denn?!
Zitat von schiese

Ich lasse die Erklärung trotzdem stehen...... könnte andern ja helfen.
Schri-Schra-Schrödi *g*
mehrspaltiges/zeiliges Seitenlayout mit DIV's und CSS
Dinge, die mit Tabellen besser klappen als mit CSS
Ausgabe von Datum/Zeit unabhängig von der Server Zeitzone [php]
Meine Links zum Thema Linux (Last update: 29.10.2011)
Kein Busen ist so flach wie das Niveau dieser Party!
----
Alte Weisheit: wer uns in den Arsch kriecht wird beschissen!
----
Ich habe 3 Kinder und kein Geld!
Warum kann ich nicht keine Kinder haben und 3 Geld?! (Homer Jay Simpson)
-
31.07.06 06:03 #12
- Registriert seit
- Sep 2005
- Beiträge
- 705
Ich danke euch schon mal, nur hab ich jetzt nur noch ein kleines Problem
also das alles in einer Zeile steht funktioniert jetzt nur leider schreibt er das ganze nicht so in die Text datei
sondern das wird in etwa sotest <br />test <br />test
in die Textdatei geschrieben
also vor dem <br /> wird ein unix Zeilenumbruch eingefügttext<br />
<br>tet<br />
<br>test
mach ich das ganze das ich es so reinschreibe \r\n dann schreibt er zwei <br /> ein
ich schreibe das ganze so in die Textdatei, sofern das euch was hilft
PHP-Code:<?php
include("functions.php");
$text=$_POST["text"];
$text=htmlentities($text);
$text=replacetags($text);
$text=nl2br($text);
$today = date('j-m-y, g:i a');
$datei = "GS/files/guestbook.master";
$rein = str_replace("\r\n","<br />", $text);
$fp = fopen($datei,"a");
fputs($fp,"$today|-|$name|-|$email|-|$homepage|-|$titelicon|-|$titel|-|$rein\n");
fclose($fp);
?>Geändert von -GS-Master (31.07.06 um 06:07 Uhr)
-
Hi,
was ist denn replacetags() ?
Also, bei mir funktioniert das!
@Dau: War mit meinen Gedanken wohl woandersPHP-Code:include("functions.php");
$text = str_replace("\r\n","<br />",htmlentities(stripslashes($_POST['text'])));
$today = date('j-m-y, g:i a');
$datei = "GS/files/guestbook.master";
$fp = fopen($datei,"a");
$rein = $today."|-|".$name."|-|".$email."|-|".$homepage."|-|".$titelicon."|-|".$titel."|-|".$text."\r\n";
fputs($fp,$rein);
fclose($fp);

schiese
-
replacetags() duerfte das hier sein:
PHP-Code:function replacetags($messagetext)
{
while ((strpos($messagetext,"[url=")>-1) && (strpos($messagetext,"[/url]")>-1))
{
$startpos=strpos($messagetext,"[url=")+5;
$endpos=strpos($messagetext,"]",$startpos);
$url=substr($messagetext,$startpos,$endpos-$startpos);
$startpos=$endpos+1;
$endpos=strpos($messagetext,"[/url]",$startpos);
$urltext=substr($messagetext,$startpos,$endpos-$startpos);
$codestring='[url='.$url.']'.$urltext.'[/url]';
$urlstring='<a href="'.$url.'" target="_blank">'.$urltext.'</a>';
$messagetext=str_replace($codestring,$urlstring,$messagetext);
}
while ((strpos($messagetext,"[color=")>-1) && (strpos($messagetext,"[/color]")>-1))
{
$startpos=strpos($messagetext,"[color=")+7;
$endpos=strpos($messagetext,"]",$startpos);
$color=substr($messagetext,$startpos,$endpos-$startpos);
$startpos=$endpos+1;
$endpos=strpos($messagetext,"[/color]",$startpos);
$colortext=substr($messagetext,$startpos,$endpos-$startpos);
$codestring='[color='.$color.']'.$colortext.'[/color]';
$colorstring='<font color="'.$color.'">'.$colortext.'</font>';
$messagetext=str_replace($codestring,$colorstring,$messagetext);
}
while ((strpos($messagetext,"[b]")>-1) && (strpos($messagetext,"[/b]")>-1))
{
$startpos=strpos($messagetext,"[b]")+3;
$endpos=strpos($messagetext,"[/b]",$startpos);
$text=substr($messagetext,$startpos,$endpos-$startpos);
$codestring='[b]'.$text.'[/b]';
$formatstring='<b>'.$text.'</b>';
$messagetext=str_replace($codestring,$formatstring,$messagetext);
}
while ((strpos($messagetext,"[i]")>-1) && (strpos($messagetext,"[/i]")>-1))
{
$startpos=strpos($messagetext,"[i]")+3;
$endpos=strpos($messagetext,"[/i]",$startpos);
$text=substr($messagetext,$startpos,$endpos-$startpos);
$codestring='[i]'.$text.'[/i]';
$urlstring='<i>'.$text.'</i>';
$messagetext=str_replace($codestring,$urlstring,$messagetext);
}
while ((strpos($messagetext,"[u]")>-1) && (strpos($messagetext,"[/u]")>-1))
{
$startpos=strpos($messagetext,"[u]")+3;
$endpos=strpos($messagetext,"[/u]",$startpos);
$text=substr($messagetext,$startpos,$endpos-$startpos);
$codestring='[u]'.$text.'[/u]';
$formatstring='<u>'.$text.'</u>';
$messagetext=str_replace($codestring,$formatstring,$messagetext);
}
while ((strpos($messagetext,"[s]")>-1) && (strpos($messagetext,"[/s]")>-1))
{
$startpos=strpos($messagetext,"[s]")+3;
$endpos=strpos($messagetext,"[/s]",$startpos);
$text=substr($messagetext,$startpos,$endpos-$startpos);
$codestring='[s]'.$text.'[/s]';
$formatstring='<s>'.$text.'</s>';
$messagetext=str_replace($codestring,$formatstring,$messagetext);
}
return $messagetext;
}
PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
__________________
EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
__________________
__________________Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
Zitat von Friedrich Nietzsche
-
Hallo,
Holy ****! Das sieht mir nach jeder Menge unnötiger Codeduplikation aus.
Zitat von Dennis Wronka
@-GS-Master: nl2br() brauchst du jetzt nicht mehr. In der Form ersetzt du nur alle Zeilenumbrüche doppelt. Übrigens solltest du dir auch schon mal überlegen, was passiert wenn jemand ein |-| in seinen Namen schreibt oder spaßeshalber bei der Angabe der E-Mail-Adresse einen Zeilenumbruch eingibt…
Grüße,
Matthias„Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
“For every complex problem, there is an answer that is short, simple and wrong.”
“Pessimism is safe, but optimism is a lot faster!”
Aktuelles Coding Quiz: #17 - Wörter kreuz und quer
Ähnliche Themen
-
Suche jemand, der ein komplettes Auktionssystem aufbaut
Von TT3 im Forum Stellenangebote (entgeltlich)Antworten: 3Letzter Beitrag: 25.03.10, 11:35 -
Gästebuch
Von El_Tomato im Forum PHPAntworten: 15Letzter Beitrag: 27.07.07, 13:20 -
Gästebuch
Von csfungamer im Forum PHPAntworten: 5Letzter Beitrag: 06.09.05, 20:04 -
Erste Zeile ein Textdatenbank loeschen...
Von majonaise im Forum PHPAntworten: 7Letzter Beitrag: 31.12.03, 07:34 -
Eine Art Gästebuch auf einer einzigen Seite möglich?
Von Phjun im Forum PHPAntworten: 3Letzter Beitrag: 18.05.03, 18:37





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren