Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak zrobić przyciski takie jak są na forum przy dodawaniu posta
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
colinQ
Jak zrobić przyciski takie jak są na forum przy dodawaniu posta.

Że na przykład po naciśnięciu B dodaje do textarea <b></b>
albo że zaznaczamy text i naciskamy B a on wykonuje coś takiego: <b>text</b>??

To jest PHP czy JS?? worriedsmiley.gif
colinQ
a co zrobić żeby to działało na stronie :/

I jak przypisać funkcje że po kliknięciu buttonu dodaje np.
Kod
[b][/b]
mike
Cytat(colinQ @ 24.08.2007, 08:51:35 ) *
a co zrobić żeby to działało na stronie :/
Wstawić na niej skrypt.
Dostałeś linki i słowa kluczowe pod jakimi masz szukać. Zagadnienie jest popularne i poruszane nawet na forum.

I jaki to ma związek z PHP? Żaden.
Przenoszę z PHP na Po stronie przeglądarki > JavaScript
loopb
Przeciez podalem ci linka do generatora skryptu. Zagladales na te linki wogole?

http://bbcode.strefaphp.net/
colinQ
<style>font,td {font-family: Verdana, Arial, Helvetica, sans-serif }.php,.code{font-size: 90%;color: black;padding:0 10px 0 10px;margin:0;width:auto;overflow:auto;}.php .lang,.code .lang{font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 100%;font-weight: 900;border:0;border-top: 1px #CCC solid;border-right: 1px #CCC solid;width: auto;margin: 0;padding: 2px;}.php .container,.code .container{width:auto;overflow:scroll;}html>body .php .container,html>body .code .container{width:auto;overflow:auto;}.lang{color: white;}.php .container .block,.code .container .block{font-size:12px;font-family: monospace;background-color: white;border:0;border-bottom: 1px #CCC solid;border-right: 1px #CCC solid;width:auto;margin:0;padding:0;}.php .container .block .linenumber,.code .container .block .linenumber{font-size:12px;font-family: monospace;color: black;background-color: #EEE;padding:0;margin:0;padding-left:10px;padding-right:10px;text-align:right;vertical-align:top;}.php .container .block .pcode,.code .container .block .pcode{width:100%;overflow: scroll;white-space:normal;}html>body .php .container .block .pcode,html>body .code .container .block .pcode{width:auto;overflow: auto;white-space:pre;}.php .container .block .pcode,.code .container .block .pcode{ padding:0; padding-left:3px; margin:0; border:0;}.linia {background: #C2CEE4; border: 0px; height: 1; color=#C2CEE4;}.kod {background-color: #FFFFFF; font-family: Courier new, sans-serif, Arial; color:#009F00;font-size: 12px; margin-left: 10px;}.cytat {color:#FFFFFF; background-color: #141414; font-family: Arial, sans-serif, Verdana;font-size: 12px; margin-left: 10px;}</style><script>// bbcodeFunction bbcode($str){// usun zbedne$str=htmlspecialchars(trim($str));// Kolorowanie składni$str=preg_replace_callback("#\[php\](.*?)\[/php\]#si", "bbcode_phpCode", $str);// Pogrubiony tekst$str = preg_replace("#\[b\](.*?)\[/b\]#si", "<b>\\1</b>", $str);// Pochylony tekst$str = preg_replace("#\[i\](.*?)\[/i\]#si", "<i>\\1</i>", $str);// Podkreślony tekst$str = preg_replace("#\[u\](.*?)\[/u\]#si", "<u>\\1</u>", $str);// Pomniejszanie tekstu$str = preg_replace("#\[sm\](.*?)\[/sm\]#si", "<small>\\1</small>", $str);// Powiększanie tekstu$str = preg_replace("#\[big\](.*?)\[/big\]#si", "<big>\\1</big>", $str);// Wyśrodkowanie tekstu$str = preg_replace("/\[center\](.*?)\[\/center\]/si", "<center>\\1</center>", $str);// Kolor tekstu$str = preg_replace("#\[color=(http://)?(.*?)\](.*?)\[/color\]#si", "<span style=\"color:\\2\">\\3</span>", $str);// Wielkość czcionki$str = preg_replace("#\[size=(http://)?(.*?)\](.*?)\[/size\]#si", "<span style=\"font-size:\\2\">\\3</span>", $str);// Obrazek$str = preg_replace("#\[img\](.*?)\[/img\]#si", "<img src=\"\\1\" border=\"0\" alt=\"Obrazek\" />", $str);// Pozioma linia$str = preg_replace("#\[hr=(\d{1,2}|100)\]#si", "<hr class=\"linia\" width=\"\\1%\">", $str);// Kod$str = preg_replace("#\[code\](.*?)\[/code]#si", "<pre class=\"kod\"><u><b>Kod:</b></u><br/>\\1</pre>", $str);// Cytat$str = preg_replace("#\
Cytat
(.*?)\
#si", "<p class=\"cytat\"><u><b>Cytat:</b></u><br/>\\1</p>", $str);

// Odnośnik e-mail
$str = preg_replace("#\[email\]([a-z0-9\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)?[\w]+)\[/email\]#i", "<a href=\"mailto:\\1@\\2\">\\1@\\2</a>", $str);

// kolejny wiersz
$str=nl2br($str);

// kodowanie kodu
$str = preg_replace_callback("#\<base64\>(.*?)\</base64\>#si", "base64decode", $str);

// js
$str = preg_replace_callback("#\<(.*?)javascript(.*?)\>#si", "bbcode_js", $str);

// wynik
return $str;}


function bbcode_phpCode($code){
if(!$code){return;}
$code[1]=trim($code[1]);
$code[1]=html_entity_decode($code[1]);
$code[1]=str_replace('<br />','',$code[1]);
$kod=highlight_string($code[1], TRUE);
$numerki=explode('|',bbcode_numeruj($kod));
if(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN'){
$sys[0]='<code><span style="color: #000000">'."\n";
$sys[1]=chr(10).'</code>';
}else{
$sys[0]="<font color=\"#000000\">\n";
$sys[1]="\n</code>";
}
$kod=str_replace(array($sys[0],$sys[1]),array('<code><font color="#000000">','</code>'),$kod);
$ret='<div class="php"><div class="lang"><b>Kod PHP ('.$numerki[0].' lini):</b></div><div class="container"><table class="block"><tr><td class="linenumber" style="font-size: 12px;">'.$numerki[1].'</td><td width="100%" style="font-size: 12px;"><pre class="pcode"><span class="html"><div style="line-height: 15px">'.$kod.'</div></span></pre></td></tr></table></div></div>';
return '<base64>'.base64_encode($ret).'</base64>';}

// zakodowanie kodu
Function base64decode($str){
return base64_decode(substr($str[0],8,strlen($str[0])-8));
}

// numeracja
Function bbcode_numeruj($str){
$linia=explode('<br />', $str);
$l=count($linia);
for($i=1;$i<=$l;$i++){
$ret.=$i.'<br>';
}
return $l.'|'.$ret;}

// anti js
Function bbcode_js($str){
if(!eregi('<a href=\"java script:mailto:mail\(\'',$str[0])){
return str_replace('javascript','java_script',$str[0]);
}else{return $str[0];}}
</script>

Wygenerowało taki kod.
Jak go teraz wykorzystać do textarea??


Bo po wrzuceniu do pliku on nic nie wyświetla..." title="Zobacz w manualu PHP" target="_manual
loopb
http://bbcode.strefaphp.net/pomoc.php
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.