Autor Zpráva
shadyyx
Profil
Zdravim lidi...delam ted jednu mensi navstevni knihu, a chtel bych tam pridat smajliky...

chci se zeptat, jestli nevite o nejakem navodu, jak na to, aby se po kliknuti na smajl pridal prislusny kod do pole s textem, a pak, az se bude clanek nacitavat z databaze, aby se vsechny prislusne kody smajlu nahradily obrazky??? tady zrejme nejde pouzivat funkci ereg_replace, protoze jsem se nikde nesetkal s tim, ze by misto kusu textu vlozila celej <img tag>, nebo myslite ze by to slo i timhle spusobem...???

dekuji predem mockrat za vase vecne napady.
Jack Finger
Profil
kód do knihy: přes JS
kód na <img>: preg_replace()
Jakuje
Profil
Na přepis je dobré znát trochu regulérní výrazy a potom to funkcí preg_replace() jde samo.
Jack Finger
Profil
je dobré znát trochu regulární výrazy
trochu více...
shadyyx
Profil
takze treba kdyz bude mit formular nazev "book", textarea treba "sprava" - tak kazdemu smajlu dam do <a ...><<img ...></a> jeste udalost <a ... onclick="document.book.sprava.write("KOD");"> nebo tak nejak???

a jeste si budu muset precist neco o preg_replace() ;-)
Jakuje
Profil
js:

onclick="write("KOD");


function write(what){
document.book.sprava.value = document.book.sprava.value + what;
}


nebo nějak tak ...
temistokles
Profil
document.book.sprava.value += what; :-)
Pavel Prochazka.zde.cz
Profil *
zdravim, treba takto:


<SCRIPT language="JavaScript" type="text/javascript">

function smile_print(text){
txtarea = document.gbook.vzkaz;
if (document.all) {
if (txtarea.createTextRange && txtarea.caretPos) {
var caretPos = txtarea.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text+caretPos.text + ' ' : text+caretPos.text;
}
else {txtarea.value = txtarea.value + text; }
}
else if (document.getElementById) {
var selLength = txtarea.textLength;
var selStart = txtarea.selectionStart;
var selEnd = txtarea.selectionEnd;
if (selEnd==1 || selEnd==2) selEnd=selLength;
var s1 = (txtarea.value).substring(0,selStart);
var s2 = (txtarea.value).substring(selStart, selEnd)
var s3 = (txtarea.value).substring(selEnd, selLength);
txtarea.value = s1 + text + s2 + s3;
}
}

function GetPositionCursor (txtarea) {
if (txtarea.createTextRange) {
txtarea.caretPos = document.selection.createRange().duplicate();
}
}
</script>

a nahrazeni smajliku obrazkrm, treba takto:

function smajliky ($sText, $smajlik_img) {
if ($smajlik_img == 1) {
$sText = StrTr($sText, array(":)" => '<img src="gif/smajliky/1.gif">',
":(" => '<img src="gif/smajliky/2.gif">',
":o" => '<img src="gif/smajliky/3.gif">',
":d" => '<img src="gif/smajliky/4.gif">',
';)' => '<img src="gif/smajliky/5.gif">',
":p" => '<img src="gif/smajliky/6.gif">',
"8)" => '<img src="gif/smajliky/7.gif">',
":*" => '<img src="gif/smajliky/8.gif">',
";1" => '<img src="gif/smajliky/9.gif">',
";2" => '<img src="gif/smajliky/10.gif">',
";3" => '<img src="gif/smajliky/11.gif">',
";4" => '<img src="gif/smajliky/12.gif">',
";5" => '<img src="gif/smajliky/13.gif">',
";6" => '<img src="gif/smajliky/14.gif">',
";7" => '<img src="gif/smajliky/15.gif">',
";8" => '<img src="gif/smajliky/16.gif">',
";9" => '<img src="gif/smajliky/17.gif">'));
}
return $sText;
}
Pavel Prochazka.zde.cz
Profil *
jeeee, jeste jsem zapomel to hlavni....

<textarea name="vzkaz" rows="8" cols="100" onkeyup="GetPositionCursor(this)" onclick="GetPositionCursor(this)" onselect="GetPositionCursor(this)"><?php if (isset($_POST['vzkaz'])) echo $_POST['vzkaz'];

?></textarea>
shadyyx
Profil
Dekuji, pane Prochazko, za vycerpavajici a kompletni skripty. ;-)

Mate to u me ;-)
starburst
Profil
mohl by ste mi nekdo uvést příklad kdybych chtěl vypsat místo sady znaků obrázek kdyz nepouzivam databazi?? mám do udelaný že když kliknu na smajlika tak se mi vypise do text area sada kterou sem si zadal ktera by mela znamenat toho urciteho smajlika. a kdyz to odeslu tak mi to jenom napise tu sadu znaku... mám knihu bez databaze s vypisem do souboru... prosim priklad s aspon trosku vysvetlenim co co znamena...

děkuji
a
Profil *
:) skus do text areny vložiť obrazok...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: