Detta använder jag för att infoga smilies.
Textarean i exemplet heter "meddelande" och formuläret heter "postForm".
Javascript:
var cPos,
fObj,
ieC = Boolean(document.selection && document.selection.createRange);
function smilie(str) {
if (ieC) {
if (typeof cPos != "undefined")
cPos.text = str;
else
fObj.value = str;
}
else if (typeof window.HTMLTextAreaElement != "undefined")
fObj.value = fObj.value.substring(0, fObj.selectionStart) + str + fObj.value.substring(fObj.selectionEnd);
else fObj.value += str;
}
function sC() {
cPos = document.selection.createRange().duplicate();
}
window.onload = function() {
fObj = document.forms["postForm"].elements["meddelande"];
if (ieC) {
fObj.onclick = function() { sC(); }
fObj.onkeyup = function() { sC(); }
fObj.onselect = function() { sC(); }
}
}
och länkarna:
<a href="#" onclick="smilie(' :e'); return false;"><img src="smilies/biggrin.gif" alt="stort flin" width="18" height="18" border="0" /></a>
<a href="#" onclick="smilie(' :q'); return false;"><img src="smilies/confused.gif" alt="undrande" width="18" height="18" border="0" /></a>
<a href="#" onclick="smilie(' :h'); return false;"><img src="smilies/cool.gif" alt="lugn" width="18" height="18" border="0" /></a>
<a href="#" onclick="smilie(' :x'); return false;"><img src="smilies/cry.gif" alt="gråter" width="18" height="18" border="0" /></a>
<a href="#" onclick="smilie(' :P'); return false;"><img src="smilies/drool.gif" alt="dreglar" width="18" height="18" border="0" /></a>
<a href="#" onclick="smilie(' :p'); return false;"><img src="smilies/happy.gif" alt="glad" width="18" height="18" border="0" /></a>
<a href="#" onclick="smilie(' x('); return false;"><img src="smilies/mad.gif" alt="arg" width="18" height="18" border="0" /></a>
<a href="#" onclick="smilie(' :('); return false;"><img src="smilies/sad.gif" alt="ledsen" width="18" height="18" border="0" /></a>
<a href="#" onclick="smilie(' :t'); return false;"><img src="smilies/sleepy.gif" alt="sömnig" width="18" height="18" border="0" /></a>
<a href="#" onclick="smilie(' :)'); return false;"><img src="smilies/smile.gif" alt="leende" width="18" height="18" border="0" /></a>
<a href="#" onclick="smilie(' :o'); return false;"><img src="smilies/suprised.gif" alt="förvånad" width="18" height="18" border="0" /></a>
<a href="#" onclick="smilie(' :bla'); return false;"><img src="smilies/tongue.gif" alt="retsam" width="18" height="18" border="0" /></a>
/red
Glömde ju koden för att ändra tecknen till bilder
Variabeln $text innehåller texten som ska presenteras på sidan.
$smile_search = array(
":e",
":q",
":h",
":x",
":P",
":p",
"x(",
":(",
":t",
":)",
":o",
":bla"
);
$smile_replace = array(
"<img src='smilies/biggrin.gif' width='18' height='18' alt='stort flin' />",
"<img src='smilies/confused.gif' width='18' height='18' alt='undrande' />",
"<img src='smilies/cool.gif' width='18' height='18' alt='lugn' />",
"<img src='smilies/cry.gif' width='18' height='18' alt='gråter' />",
"<img src='smilies/drool.gif' width='18' height='18' alt='dreglar' />",
"<img src='smilies/happy.gif' width='18' height='18' alt='glad' />",
"<img src='smilies/mad.gif' width='18' height='18' alt='arg' />",
"<img src='smilies/sad.gif' width='18' height='18' alt='ledsen' />",
"<img src='smilies/sleepy.gif' width='18' height='18' alt='sömnig' />",
"<img src='smilies/smile.gif' width='18' height='18' alt='leende' />",
"<img src='smilies/suprised.gif' width='18' height='18' alt='förvånad' />",
"<img src='smilies/tongue.gif' width='18' height='18' alt='retsam' />"
);
$text = str_replace($smile_search, $smile_replace, $text);