Smilies
Dominik
- sonstiges
Ich bin gerade dabei meine eigene Site zu entwickeln. Ich kann mit JS, PHP, und XML umgehen, bin aber auch nicht der Profi. Ich habe folgenden Input-Code:
<html>
<head>
<title>Shoutbox</title>
<link rel="stylesheet" type="text/css" href="../CSS/Format.css">
<script type="text/javascript" src="../Java Script/Bild.js"></script>
<script type="text/javascript" src="../Java Script/Uhr.js"></script>
<script type="text/javascript" src="../Java Script/ajax.js"></script>
<script type="text/javascript">
var xml_response_handler = function(content, output_id) {
var entries = content.getElementsByTagName("entry");
document.getElementById(output_id).innerHTML = "";
for(i = 0; i < entries.length; i++) {
var entry_name = entries[i].getElementsByTagName("name")[0];
var entry_text = entries[i].getElementsByTagName("text")[0];
var p = document.createElement("P");
var b = document.createElement("B");
var br = document.createElement("BR");
var text_1 =
document.createTextNode(entries[i].getAttribute("datetime"));
var text_2 = document.createTextNode(" schrieb ");
var text_3 =
document.createTextNode(entry_name.firstChild.nodeValue);
var text_4 = document.createTextNode(":");
var text_5 =
document.createTextNode(entry_text.firstChild.nodeValue);
p.appendChild(b);
b.appendChild(text_1);
b.appendChild(text_2);
b.appendChild(text_3);
b.appendChild(text_4);
p.appendChild(br);
p.appendChild(text_5);
document.getElementById(output_id).appendChild(p);
}
};
function show_shoutbox() {
if(!document.getElementById)
return;
script_url = "shoutbox.php";
do_http_get_request("xml", script_url, "shoutbox_entries");
}
function post_to_shoutbox() {
if(!document.getElementById)
return;
script_url = "shoutbox.php";
post_field_ids = "name+text";
do_http_post_request("xml", script_url, post_field_ids,
"shoutbox_entries");
}
</script>
<body onload="show_shoutbox();window.setInterval(show_shoutbox, 1);">
.....
<form action="#" method="post">
<div>
<input type="button" name="send" value="OK" onclick="post_to_shoutbox()">
<input class="shoutbox_input_1" type="text" name="name" id="name" value="Dein Name?">
</div>
<div>
<textarea class="shoutbox_input_2" name="text" rows="3" cols="20" id="text">Dein Text? [img]http://www.cosgan.de/images/smilie/frech/a045.gif[/img] </textarea>
</div>
</form>
<div id="shoutbox" style="width: 290px;font-size:20px">
<div id="shoutbox_entries">
</div>
</div>
das ist der Input-Code. Die Fomulardaten werden an diesen Externen PHP Script weitergeleitet:
<?php
if(isset($_POST['name']) and isset($_POST['text'])
and $_POST['name'] != "" and $_POST['name'] != "Dein Name?"
and $_POST['text'] != "" and $_POST['name'] != "Dein Text?") {
$dom = new DOMDocument("1.0", "UTF-8");
if(!$dom)
exit("FEHLER(1)!");
$dom->preserveWhiteSpace = false;
if(!$dom->load("shoutbox.xml")) {
$shoutbox = $dom->createElement("shoutbox");
$dom->appendChild($shoutbox);
}
$new_entry_elem = $dom->createElement("entry");
$new_entry_elem->setAttribute("datetime", date("Y-m-d H:i"));
$new_name_elem = $dom->createElement("name",
substr($_POST['name'], 0, 256));
$new_text_elem = $dom->createElement("text",
substr($_POST['text'], 0, 1024));
$new_entry_elem->appendChild($new_name_elem);
$new_entry_elem->appendChild($new_text_elem);
$shoutbox_elem = get_node($dom, '/shoutbox');
if($shoutbox_elem->firstChild)
$shoutbox_elem->insertBefore($new_entry_elem,
$shoutbox_elem->firstChild);
else
$shoutbox_elem->appendChild($new_entry_elem);
$i = 0;
$entry_elems = $dom->getElementsByTagName('entry');
if($entry_elems->length > 10)
$shoutbox_elem->removeChild($shoutbox_elem->lastChild);
$dom->save("shoutbox.xml");
}
$content = file_get_contents("shoutbox.xml");
header('Content-Type: text/xml');
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
echo $content;
function get_node($dom, $xpath) {
$path = new DOMXPath($dom);
$nodes = @$path->query($xpath);
if(!is_object($nodes))
return(false);
else
return($nodes->item(0));
}
?>
Dieser schreib die Fomulardaten in ein XML Dokument zur ausgabe.
Der Obere Script dien auch zur ausgabe falls es jemanden aufgefallen ist.
Der Springende Punkt ist jedoch das ich Smilies einfügen will. Weis jemand wie ich das anstellen könnte???
P.S.: Es gibt noch eine Externe Ajax Datei, falls man sie benötigt um mir zu helfen, einfach sagen
Lieber Dominik,
was soll ich mit diesem Seitenlangen Code?
</hilfe/charta.htm#tipps-fuer-fragende>
Liebe Grüße,
Felix Riesterer.
Ohne auf Deinen Code direkt eingehen zu wollen: Smileys können auf unterschiedlichem Wege eingefügt werden.
Die Ersetzung von bestimmten Steuerzeichen (bspw. ":-)") durch entsprechende img-Tags kann server- oder Clientseitig geschehen. An welcher Stelle Du ansetzt, bleibt Dir überlassen.
Gruß, LX
Die Ersetzung von bestimmten Steuerzeichen (bspw. ":-)") durch entsprechende img-Tags kann server- oder Clientseitig geschehen. An welcher Stelle Du ansetzt, bleibt Dir überlassen.
Das stupide Ersetzen von Zeichenketten mittels einfacher Stringersetzung kann aber zu Problemen führen.
Ich war auf Urlaub und musste meine Sonnenbrille 8) aufsetzen.
Ich bin ein Beispielsatz mit vielen Wörtern (ohne diese Klammer weniger als 8).
Wenn du nun 8) durch ein Sonnenbrillensmile ersetzt, bekommst du im 2. Satz ein Problem.
Lieber suit,
Ich war auf Urlaub und musste meine Sonnenbrille 8) aufsetzen.
und hat sie Deine Nase komplett ersetzt? 8-P
Liebe Grüße,
Felix Riesterer.
und hat sie Deine Nase komplett ersetzt? 8-P
Sag' blos du kennst dies Porno-Brillen nicht, die das halbe Gesicht inklusive Nase überdecken?
Lieber suit,
| und hat sie Deine Nase komplett ersetzt? 8-P
Sag' blos du kennst dies Porno-Brillen nicht, die das halbe Gesicht inklusive Nase überdecken?
... Entschuldigung...?
Liebe Grüße,
Felix Riesterer.
Danke ich werds mal versuchen. Wenn es nicht funktioniert dan melde ich mir wieder!