ERLEDIGT
NEIN
NEIN
ANTWORTEN
7
7
ZUGRIFFE
290
290
EMPFEHLEN
-
Folgendes schräges Problem
Ich trage das ganze mit Hilfe meiner checksql Funktion in die MySQL Datenbank ein:
[PHP]
function checksql($char)
{
$char=mysql_escape_string($char);
$char=addslashes($char);
return $char;
}
und gebe es dann formatiert wieder aus. Hab dafür auch eine Funktion nämlich:
Sodala jetzt sieht das ganze aber nicht so aus wie ich es will sondern soPHP-Code:function replacestandartstring($char)
{
$char=nl2br($char);
$array_1 = array("ä","ü","ö","ß","®");
$array_2 = array("ä","ü","ö","ß","®");
for($x=0;$x<5;$x++)
{
$char = str_replace($array_1[$x],$array_2[$x],$char);
}
return $char;
}
Code :1
blablabla\r\nblablabla\r\nblablabla
dh anstatt der<br /> steht \r\n zeichen aber warum
normalerweisse sollte er dies doch verhindern! in die Datenbank wird es richtig reingespeicher dh wenn ich mir den String anschaue dann sind die Enter korrekt gesetzt
Nur wenn ich dies dann auslese und mit nl2br wandle dann macht er mir nur \r\n
auch mit str_replace macht er nichts
Schreibt immer noch ganz normal die \r\n raus! diese Beispiel hab ich aus dem Forum wurde mal gepostet habs auch so probiertPHP-Code:$char = str_replace("\r\n", "<br>", $char);
$char = str_replace("[\r\n]{1,*}", "<br>", $char);
geht auch nicht
Was mache ich falsch
Grüße PosseidonGeändert von matzseesi (16.04.04 um 16:24 Uhr)
-
Versuch doch einfach, die Daten einmal folgendermaßen in die DB einzufügen:
Danach gibst du den Text einfach per nl2br() aus.PHP-Code:function sql_check($str) {
$str = htmlentities($str);
$str = addslashes($str);
return $str;
}
mysql_query("[...]".sql_check($str)."[...]");
-
des mach ich ja!
Es steht ja oben die Daten werden mit der checksql Funktion in die DB geschrieben und dann mit der zweiten Funktion ausgegeben!
Allerdings macht mir die nl2br Funktion nicht das was ich will dh sie macht keine <br> aus den \r\n
Grüße Posseidon
-
Nur das split Deine checksql-Funktion ein wenig umgschrieben hat ....
Nitro
-
Tja, du kannst es auch mit deiner Funktion machen. Ich finde es nur umständlich, wenn du einen Teil der Stringbearbeitung vor und einen Teil der Stringbearbeitung nach dem Einfügen machst (ausgenommen nl2br).
Wenn du es trotzdem mit deiner Funktion machen willst, lass doch mal mysql_escape_string() weg.
PS: str_replace kannst du als Parameter auch Arrays übergeben, deine for()-Schleife ist also umsonst.
-
Des mysql_escape_string sollte man verwenden wenn werte aus der DB in die Datenbank eingetragen werden! zumindest hat das einmal wer im Board hier geschrieben
Aus angst vor MYSQL Injections mach ich das auch oder?
Grüße Posseidon
-
Du brauchst mysql_escape_string nicht, weil du ja mit addslashes() arbeitest.
-
so funktionierts
Danke
Ähnliche Themen
-
Quote-Funktion mit Zeilenumbrüchen
Von Gangsterneo im Forum PHPAntworten: 10Letzter Beitrag: 14.04.09, 23:28 -
Selectbox mit Zeilenumbrüchen
Von michel_tr im Forum HTML & XHTMLAntworten: 5Letzter Beitrag: 12.04.05, 17:14 -
[PHP] Hilfe mit Zeilenumbrüchen bei Formular [PHP]
Von dasche im Forum PHPAntworten: 6Letzter Beitrag: 14.06.04, 18:27 -
mail() dickes problem mit zeilenumbrüchen
Von Skourer im Forum PHPAntworten: 6Letzter Beitrag: 10.05.03, 22:50 -
Problem mit Zeilenumbrüchen
Von Marcus Roffmann im Forum PHPAntworten: 5Letzter Beitrag: 24.05.02, 12:57





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren