Autor | Zpráva | ||
---|---|---|---|
Anonymní Profil * |
#1 · Zasláno: 28. 10. 2004, 20:18:14
ako mam urobit do guesbooku ktory uklayda obsah do obsah.dat a vsetky znaky ako < alebo > a pod. meni na entity chcel by som aby sa po zadani nejakeho textu v hranatych zatvorkach zobrazil smajlik a mezdi [ B ] tucnz text [ /b ] //ako tu// sikmy text , podciarknuty a farebny......
a ako to mam potom javascriptom po kliknuti na obrazok vlozit do textarea ? dakujem |
||
Anonymní Profil * |
#2 · Zasláno: 29. 10. 2004, 11:57:29
stiahni si mini bb a pozri sa ako je to tam :-)
|
||
Yuhů Profil |
#3 · Zasláno: 29. 10. 2004, 12:00:17
ono by se to dalo najít i v kódu téhle stránky, ale asi bude rychlejší to napsat.
Máš nějakou oblast textarea, která má nějakou value (podle toho, co napsal uživatel). K value můžeš přičítat text pomocí operátoru +=. <textarea name="abc" id="abc"></textarea> <span onclick="napisText('cokoliv')">čudlík</span> <script> var obsahTextarey= docuement.getElementById("abc").value; function napisText(cokoliv){ obsahTextarey += cokoliv; } </script> |
||
Anonymní Profil * |
#4 · Zasláno: 29. 10. 2004, 12:09:31
no, ano, ale ako urobit aby to namiesto toho zadaneho textu nap. [smajlik1] urobilo smajlika,
alebo namiesto [ b ] a [ /b ] (bez medzier) urobilo tucne pismo ?? |
||
Anonymní Profil * |
#5 · Zasláno: 29. 10. 2004, 12:43:54
<?php
toto je z miniBB ale funguje asi iba na databazy :-( |
||
Yuhů Profil |
#6 · Zasláno: 29. 10. 2004, 12:44:58
to pak musíš na straně serveru v PHP. Většinou se to dělá nějakým regulárním výrazem nebo obyčejným nahrazením. V případě toho tučného písma by měla stačit funkce strTr()
$novyText = strTr($staryText, "[]", "<>"); Teď si rychle nevzpomínám na PHP funkci, která umí nahrazovat delší texty, jako třeba ten obrázek. Nakopnete mě někdo? |
||
Anonymní Profil * |
#7 · Zasláno: 29. 10. 2004, 12:45:16
noo nie celkom lebo som zabudol ze to sa asi zobryzi tucne a pod. :-)
najme v function deCodeBB |
||
pyty Profil |
#8 · Zasláno: 29. 10. 2004, 13:09:07
function displayForm()
priiblizne... |
||
Anonymní Profil * |
#9 · Zasláno: 29. 10. 2004, 15:32:18
asi sa na to vykašlem... :(
|
||
Yuhů Profil |
#10 · Zasláno: 29. 10. 2004, 17:51:16
lidi, co blbnete? Proč sem pastujete kódy z miniBB? Prostě vypíchněte jenom tu funkci, která to dělá. Nebo ji neumíte najít?
sorry za mírné rozladění |
||
haXis Profil |
#11 · Zasláno: 29. 10. 2004, 22:37:54
str_replace() ?
preg_replace() ? napr... $text = str_replace("[b]", "<b>", $text); $text = preg_replace("/\[url=((f|ht)tp[s]?:\/\/[^<> \n]+?)\](.+?)\[\/url\]/i", "<a href="\\1" target="_blank">\\3</a>", $text); jestli myslis tyhle funkce? |
||
SuE Profil |
#12 · Zasláno: 29. 10. 2004, 22:52:37
hmm, hele php odborníci, já jsem si do komentářů od eLKy přidala smajlíky tak, že jsem stáhla asi 3 guestbooky s smajlíkama, s php manuálem v druhém okně jsem zjistila co dělá co, a jeden jsem opajcnula
Považuju tento postup za nejkratší možný, pokud jde o cíl, nikoliv o naučení se jazyka. Sice jsem si skoro natloukla čenich na chybném js původního autora (document pro mozillu tam chyběl) ale .. zlatej google. Teda ne že bych to ještě dneska věděla .. ale to je kouzlo sklerozy - každý den objevujete něco nového :-) |
||
Časová prodleva: 5 dní
|
|||
Anonymní Profil * |
#13 · Zasláno: 3. 11. 2004, 15:40:21
function bbcode($string)
{ $string = preg_replace("#\[b\](.+?)\[/b\]#is", "<b>\\1</b>", $string); $string = preg_replace("#\[i\](.+?)\[/i\]#is", "<i>\\1</i>", $string); $string = preg_replace("#\[u\](.+?)\[/u\]#is", "<u>\\1</u>", $string); $string = preg_replace("#\[link\]www\.(.+?)\[/link\]#is", "<a href=\"http://www.\\1\">www.\\1</a>", $string); $string = preg_replace("#\[link\](.+?)\[/link\]#is", "<a href=\"\\1\">\\1</a>", $string); $string = preg_replace("#\[link=(.+?)\](.+?)\[/link\]#is", "<a href=\"\\1\">\\2</a>", $string); $string = preg_replace("#\[url\]www\.(.+?)\[/url\]#is", "<a href=\"http://www.\\1\">www.\\1</a>", $string); $string = preg_replace("#\[url\](.+?)\[/url\]#is", "<a href=\"\\1\">\\1</a>", $string); $string = preg_replace("#\[url=(.+?)\](.+?)\[/url\]#is", "<a href=\"\\1\">\\2</a>", $string); return $string; } function smilies($string) { global $smiley_folder; $string = str_replace(":-)", "<img src=\"".$smiley_folder."smile.gif\" alt=\":-)\" width=\"15\" height=\"15\" />", $string); $string = str_replace("(-:", "<img src=\"".$smiley_folder."smile.gif\" alt=\":-)\" width=\"15\" height=\"15\" />", $string); $string = str_replace(":)", "<img src=\"".$smiley_folder."smile.gif\" alt=\":)\" width=\"15\" height=\"15\" />", $string); $string = str_replace("(:", "<img src=\"".$smiley_folder."smile.gif\" alt=\":)\" width=\"15\" height=\"15\" />", $string); $string = str_replace(";-)", "<img src=\"".$smiley_folder."wink.gif\" alt=\";-)\" width=\"15\" height=\"15\" />", $string); $string = str_replace(":-D", "<img src=\"".$smiley_folder."biggrin.gif\" alt=\":-D\" width=\"15\" height=\"15\" />", $string); $string = str_replace(":D", "<img src=\"".$smiley_folder."biggrin.gif\" alt=\":D\" width=\"15\" height=\"15\" />", $string); $string = str_replace(":-P", "<img src=\"".$smiley_folder."tongue.gif\" alt=\":-P\" width=\"15\" height=\"15\" />", $string); $string = str_replace(":-p", "<img src=\"".$smiley_folder."tongue.gif\" alt=\":-p\" width=\"15\" height=\"15\" />", $string); $string = str_replace(":-|", "<img src=\"".$smiley_folder."neutral.gif\" alt=\":-|\" width=\"15\" height=\"15\" />", $string); $string = str_replace(":|", "<img src=\"".$smiley_folder."neutral.gif\" alt=\":|\" width=\"15\" height=\"15\" />", $string); $string = str_replace(":-(", "<img src=\"".$smiley_folder."frown.gif\" alt=\":-(\" width=\"15\" height=\"15\" />", $string); $string = str_replace(":(", "<img src=\"".$smiley_folder."frown.gif\" alt=\":(\" width=\"15\" height=\"15\" />", $string); $string = str_replace(")-:", "<img src=\"".$smiley_folder."frown.gif\" alt=\":-(\" width=\"15\" height=\"15\" />", $string); return $string; } function make_link($string) { $string = ' ' . $string; $string = preg_replace("#(^|[\n ])([\w]+?://.*?[^ \"\n\r\t<]*)#is", "\\1<a href=\"\\2\">\\2</a>", $string); $string = preg_replace("#(^|[\n ])((www|ftp)\.[\w\-]+\.[\w\-.\~]+(?:/[^ \"\t\n\r<]*)?)#is", "\\1<a href=\"http://\\2\">\\2</a>", $string); $string = preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>", $string); $string = substr($string, 1); return $string; } |
||
llook Profil |
#14 · Zasláno: 4. 11. 2004, 10:02:58
Yuhů: To co navrhuješ, to
$novyText = strTr($staryText, "[]", "<>"); bych nedoporučil. To už bys mohl rovnou povolit HTML v příspěvcích. O něco lepší je strtr($staryText, array(''=>'<b>', ''=>'</b>')); , i když to zase umožňuje křížení tagů a podobně.
Nejlepší je to co sem poslali Anonymní, pyty a další Anonymní. Ale souhlasím, že lepší by bylo poradit, aby si stáhl miniBB (nebo jiné fórum) a vykuchal si to sám (jako SuE). |
||
Polaroid Profil |
#15 · Zasláno: 4. 11. 2004, 13:58:27
Ja osobně to mam teda udělaný tak, že jednoduše upravím celý obsah pole textarea funkcí
HTMLSpecialChars() a funkcí nl2br() a potom převedu postupně řetězec "<b>" na <b> a tak dále. Nevim jestli je to ideální způsob, ale mě to funguje a zdá se mi to i celkem bezpečný! |
||
Časová prodleva: 24 dní
|
|||
pyty Profil |
#16 · Zasláno: 28. 11. 2004, 17:24:07
ale toto mi nedalo....
http://interval.cz/clanek.asp?article=1781 |
||
Časová prodleva: 1 měsíc
|
|||
RAmses Profil * |
#17 · Zasláno: 31. 12. 2004, 05:03:37
<textarea cols="29" rows="5" name="popis" class="inputnews"></textarea>
//zobrazi 30 smajliku <? for ($i=1;$i<=30;$i++): if ($i==16): echo "<br>"; endif; ?> //k textu připojí například ~3 kdyz kliknu na 3.smajla <a href="#" onclick="document.formular.popis.value =formular.popis.value+' ~<?echo $i?> '"> <img border="0" src="smile/<?echo $i?>.gif" width="15" height="15"> </a> <?endfor?> ---------------------------------------------------------------------- //zpracovani zpravy <? // ostraní znaky, které by mohly porušit formátování $tag = HTMLSpecialChars($popis); //všechny konce řádků nahradí tagem <BR> $br = str_replace("\n"," <BR> ", $tag); //rozdeli text podle mezer $slovo = Split("[[:blank:]]+", $br); for($i=0;$i<Count($slovo);$i++): // je-li delka slova kratsi nez 40 znaku if (Strlen($slovo[$i])<=40): //kdyz zacina slovo na ~neco if (EregI("^(~.*)", $slovo[$i])): //pak ze slova odstrani ~, ponecha si hodnotu za ~ a prida tag <img>,\\2 znamena, ze pouzije 2.polozku $slovo[$i] = Ereg_Replace("(~)([0-9]{1,2})",'<img src="smile/\\2.gif" height="15" width="15"> ', $slovo[$i]); else: $anchor = $slovo[$i] . " "; endif; //pokud slovo zacina na www nebo http:// tak z nej udela odkaz if (EregI("^(www.*)", $slovo[$i])): $anchor = "<a href=http://$slovo[$i]/ target=_blank>http://$slovo[$i]/</a> "; elseif (EregI("^(http://.*)", $slovo[$i])): $anchor ="<a href=$slovo[$i]/ target=_blank class=odkaz>$slovo[$i]/</a> "; else: $anchor = $slovo[$i] . " "; endif; $popis2 .= $anchor; //je-li vsak slovo delsi nez 40 znaku else: //pak po 40 znacich prida mezeru pomlcku mezeru, aby tim zajistil zalomeni textu v tabulce $delit = Ceil(StrLen($slovo[$i])/40); for($z=0;$z<$delit;$z++): $cast = Substr($slovo[$i], $z*40, 40); $popis2 .= $cast . " - "; endfor; endif; endfor; //no a tady uz z textu v $popis2 nahradi html entity, tak aby tvorili tagy $bold1 = Str_Replace("<b>", "<b>", $popis2); $bold2 = Str_Replace("</b>", "</b>", $bold1); $italic1 = Str_Replace("<i>", "<i>", $bold2); $italic2 = Str_Replace("</i>", "</i>", $italic1); $under1 = Str_Replace("<u>", "<u>", $italic2); $under2 = Str_Replace("</u>", "</u>", $under1); $zprava = $under2 //pokud vam neni neco jasne, pak vam nezbyva nez vzit knihu jako ja a zjistit si co ktera funkce dela a //uvidite ze tomu porozumite //pokud jsem lama, tak mi odpustte, delam php jeden rok a jsem samokuk :) |
||
Časová prodleva: 2 roky
|
|||
25k Profil * |
#18 · Zasláno: 13. 1. 2007, 17:11:38
test
test test |
||
25k Profil * |
#19 · Zasláno: 13. 1. 2007, 17:12:09
test [/b]
[b]test fdasf fdas fads fasd fdsa fasdfads fasd f fdsfasdf adsf asd fsdfasdf |
||
Pavel Prochazka.zde.cz Profil * |
#20 · Zasláno: 14. 1. 2007, 17:42:56
podivej se na me www stranky, tam mas navstevni knihu se smajliky, vcetne php kodu :)
|
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0