PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Inhalte durch PHP in mySQL



Quietwater
07.10.2002, 19:23
Nun gut, verscuhe ich mal mein Glück. Ich bin in der ganzen PHP/mySQL Geschichte noch ein Greenhorn, und gerade deswegen habe ich eine Frage.

Wenn ich einen Fliesstext in eine Tabelle schreibe, sei es direkt oder durch ein Formular, dann kann es durchaus vorkommen, dass ich Anführungszeichen (") benutzen möchte, um z.B. einen Link oder ein Zitat oder etwas in der Richtung einzufügen.

Dies stellt jedoch einProbelm dar, wenn ich diesen Text auslesen möchte, um ihn Bespielsweise in einer HTML Seite zu bearbeiten.

Wie kann ich dies umgehen, oder was soll ich tun, damit ich Anführungszeichen dennoch in einen Text einarbeiten kann, ohne dass es mir bei der Ausgabe den gesamten Text zerhackt?

Ich hatte auch schon die Idee, eine eigene PHP seite zu schreiben, wo ich mögliche Kombinatinen mit (") als Kürzel vordefiniere, und diese dann anstelle eines (") im Fliesstext setze, aber das wird natürlich mühsam, wenn ich viele Texte kopieren und einfügen möchte. Dann müsst eich jeden Text vorher überprüfen.

Vielleicht gibt es ja eine einfache Definition, von der ich im Moment nichts weiss.

imported_ShadowByte
07.10.2002, 21:38
Hallo

Entweder benutzt du die Funktion addslashes (http://www.php.net/manual/de/function.addslashes.php) oder du schreibst (wenn du zB "blabla" in die Tabelle schreiben möchtest ) \"blabla\" . Dann wird " als sonderzeichen behandelt.

:D

Quietwater
08.10.2002, 09:15
Das hilft mir doch schon weiter. Wenn man's weiss ;) .

Ich habe das mit addslashes mal kurz angeschaut, aber noch nicht so ganz begriffen, was die Idee dahinter ist. Aber vielleicht geht mir heute noch ein Licht auf. Sonst melde ich mich bestimmt wieder zu Wort.

imported_ShadowByte
08.10.2002, 10:02
die funktion macht nichts anderes als " ein \ voranzustellen, damit " als sonderzeichen behandelt wird.

:D

Quietwater
08.10.2002, 10:10
Ach, das wäre dann ja quasi was der Begriff an sich schon aussagt. Ist doch schon wenn sich Begriffe selber erklären, und man dann wie in meinem Fall trotzdem so clevere Fragen stellen kann :).

Danke

imported_ShadowByte
08.10.2002, 15:03
Nur fragenden Leuten kann geholfen werden.

;)

Quietwater
08.10.2002, 17:15
Also, da es zwar gut zu wissen ist, dass man also einen \ vor " setzen muss, um nich in Probleme zu laufen, und es auch den 'addslashes' Befehl gibt, dies aber mein Problem nur ansatzweise löst habe ich noch ein wenig in der Materie gewühlt, und noch folgende Befehle gefunden, die sich für meinen Zweck besser eignen:

htmlspecialchars ()
htmlentities()

damit werden die betreffenden Sonderzeichen beim einfügen in die DB direkt in HTML konforme Zeichen umgewandelt.

Trotzdem danke, denn ich habe auch nur dank deines Hinweises nach anderen Möglichkeiten gesucht.

imported_ShadowByte
08.10.2002, 17:22
Klar ! Da hätte ich auch direkt drauf kommen können.

:mauer:

Quietwater
08.10.2002, 17:26
Kein Problem, indem ich es selber gefunden habe, weiss ich jetzt auch wie ich es einsetzen muss. Dann muss ich diesbezüglich nicht noch weitere dämliche Fragen stellen. :D