Seite 1 von 2

Kurze Frage zum speichern in die DB

Verfasst: 30.09.2008 13:30
von femu
Hallo Zusammen,

ich bin gerade dabei einen Mod zu modifzieren. Dort speichere ich u.a. den object Code von Youtube ab. Allerdings werden die < und > Zeichen als

Code: Alles auswählen

> und <


abgespeichert.

Was müsste ich tun, damit die als < und > abgespeichert werden? Ändere ich das in der DB, wird dann der Code auch umgesetzt ... also abgespielt ...

Verfasst: 30.09.2008 13:37
von Miriam
Wäre das interessant? -> Klick

Verfasst: 30.09.2008 13:40
von femu
Miriam hat geschrieben:Wäre das interessant? -> Klick
Nicht wirklich. Ich denke es liegt an der Art und Weise, wie der Code gelesen und gespeichert wird. Ich versteh nur nicht, warum die Zeichen umgewandelt werden und wie ich das verhindern kann ....

Verfasst: 30.09.2008 13:44
von nickvergessen
weil html in Beiträgen von phpBB3 grundsätzlich verboten ist.
Am besten erstellst du einen BBCode. Gibt schon unzählige Themen dazu.

Verfasst: 30.09.2008 13:47
von femu
nickvergessen hat geschrieben:weil html in Beiträgen von phpBB3 grundsätzlich verboten ist.
Am besten erstellst du einen BBCode. Gibt schon unzählige Themen dazu.
Für Beiträge eh klar. Das hab ich ja mit der Advanced BBCode Box abgedeckt.

Ist ja nicht in Beiträgen. Das ganze hab ich mal für phpBB2 gebastelt und ist im Prinzip nur eine Seite, wo man ein paar Videos darstellen kann. Also eben z.B. von YouTube. Der Code wird in die DB gespeichert und dann halt auf einer extra Seite abgespielt.

Für mich stellt sich halt die Frage, wie ich diese beiden Zeichen so an die DB übergeben kann, ohne daß sie umgewandelt werden ...

Kleiner Nachtrag: Im code ist die Abfrage für das feld:

Code: Alles auswählen

						$movie_url = $db->sql_escape(request_var('flashurl', ''));
Kann man da irgendwas dazusetzen, damit der Youtube Code einfach so übernommen wird?

In meinem alten Code wurde das zB so gelöst:

Code: Alles auswählen

	$video_title = str_replace("\'", "''", htmlspecialchars(trim($HTTP_POST_VARS['video_title'])));

	$video_url = str_replace("\'", "''", ($HTTP_POST_VARS['video_url']));
Durch das Weglassen des htmlspecialchars wurde das so übernommen, wie es eingegeben wurde ..

Verfasst: 02.10.2008 04:54
von femu
Hat noch jemand eine Idee?

Verfasst: 02.10.2008 08:33
von Miriam
Also die "Umkehrfunktion" zu htmlspecialchars() heisst htmlspecialchars_decode().
Falls Du das meinst.

Verfasst: 02.10.2008 12:00
von femu
Miriam hat geschrieben:Also die "Umkehrfunktion" zu htmlspecialchars() heisst htmlspecialchars_decode().
Falls Du das meinst.
Wie würde das dann bei obigem Code aussehen?

Verfasst: 02.10.2008 18:37
von Miriam
Irgendwie verstehe ich gerade Deine Frage nicht... Also die Frage schon, aber ich sehe das Prob nicht...... :oops:

Verfasst: 03.10.2008 02:39
von femu
Mein Problem ist, daß die Zeichen < und > nicht als solche in die DB geschrieben werden. Sondern mit > und <

Damit werden die Zeichen zwar HTML technisch richtig dargestellt, aber der Code wird dann als Text dargestellt und nicht mehr als Code.

Wenn Du jetzt also ein Youtube Video nimmst, dann wird der Code nur als Text dargestellt, aber nicht mehr als Videoplugin. Änder ich in der DB die beiden Zeichen auf die "echten" < und >, wird auch das Video gezeigt.

Meine Frage ist nun einfach, wie brnge ich es hin, daß der Code 1:1 gespeichert wird?