Przedszkolak
Postów: 24
Data rejestracji: 21.04.2006 14:04
|
Który plik forum odpowiada za BBcode, bo chciałbym wstawić taki kod, który ma więcej funkcji ? Jest to możliwe ?
// bbcode
Function bbcode($str){
// usun zbedne
$str=htmlspecialchars(trim($str));
// Odnośnik, otwieranie w nowym oknie
$str = preg_replace("#\[url\](.*?)?(.*?)\[/url\]#si", "<A HREF=\"\\1\\2\" TARGET=\"_blank\">\\1\\2</A>", $str);
// Odnośnik, otwieranie w nowym oknie, definiowanie treści odnośnika
$str = preg_replace("#\[url=(.*?)?(.*?)\](.*?)\[/url\]#si", "<A HREF=\"\\2\" TARGET=\"_blank\">\\3</A>", $str);
// Odnośnik, otwieranie w tym samym oknie
$str = preg_replace("#\[url2\](.*?)?(.*?)\[/url2\]#si", "<A HREF=\"\\1\\2\">\\1\\2</A>", $str);
// Odnośnik, otwieranie w tym samym oknie, definiowanie treści odnośnika
$str = preg_replace("#\[url2=(.*?)?(.*?)\](.*?)\[/url2\]#si", "<A HREF=\"\\2\">\\3</A>", $str);
// Automatyczne tworzenie linków
$str = preg_replace_callback("#([\n ])([a-z]+?)://([a-z0-9\-\.,\?!%\*_\#:;~\\&$@\/=\+]+)#si", "bbcode_autolink", $str);
$str = preg_replace("#([\n ])www\.([a-z0-9\-]+)\.([a-z0-9\-.\~]+)((?:/[a-z0-9\-\.,\?!%\*_\#:;~\\&$@\/=\+]*)?)#i", " <a href=\"http://www.\\2.\\3\\4\" target=\"_blank\">http://www.\\2.\\3\\4</a>", $str);
$str = preg_replace("#([\n ])([a-z0-9\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)?[\w]+)#i", "\\1<a href=\"javascript:mailto:mail('\\2','\\3');\">\\2_(at)_\\3</a>", $str);
// Kolorowanie składni
$str=preg_replace_callback("#\[php\](.*?)\[/php\]#si", "bbcode_phpCode", $str);
// Ukrywanie treści
$str = preg_replace_callback("#\[ukryj=\"?(.*?)\"?\](.*?)\[/ukryj]#si", 'ukryj', $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);
// Akapit
$str = preg_replace("/\[p\](.*?)\[\/p\]/si", "<p>\\1</p>", $str);
// Akapit z wyrównaniem
$str = preg_replace("#\[p=(http://)?(.*?)\](.*?)\[/p\]#si", "<p align=\"\\2\">\\3</p>", $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);
// Obrazek z katalogu img
$str = preg_replace("#\[ftp_img\](.*?)\[/ftp_img\]#si", "<img src=\"img/\\1\" border=\"0\" alt=\"Obrazek\" />", $str);
// Pozioma linia
$str = preg_replace("#\[hr=(\d{1,2}|100)\]#si", "<hr class=\"linia\" width=\"\\1%\">", $str);
// Spacja
$str=str_replace('[spacja]',' ',$str);
// Znaki specjalne
// znaki specjalne
$str = str_replace('±', '±', $str);
$str = str_replace('t82;', 't82;', $str);
$str = str_replace('r6;', 'r6;', $str);
$str = str_replace('°', '°', $str);
$str = str_replace('©', '©', $str);
$str = str_replace('®', '®', $str);
$str = str_replace('r30;', 'r30;', $str);
// błędne kodowanie m.in. z phpmyadmina
$str = str_replace('ą', 'ą', $str);
$str = str_replace('ć', 'ć', $str);
$str = str_replace('ę', 'ę', $str);
$str = str_replace('ł', 'ł', $str);
$str = str_replace('ś', 'ś', $str);
$str = str_replace('ź', 'Ľ', $str);
$str = str_replace('ż', 'ż', $str);
// znaki specjalne z m$ word
$str = str_replace('±', 'ą', $str);
$str = str_replace('r17;', '\'', $str);
$str = str_replace('r', '"', $str);
$str = str_replace('r1;', '"', $str);
$str = str_replace('r0;', '"', $str);
$str = str_replace('r11;', '-', $str);
$str = str_replace('r30;', 'r30;', $str);
// Wykonaj html
$str=preg_replace_callback("#\[html\](.*?)\[/html\]#si", "bbcode_htmlCode", $str);
// Kod
$str = preg_replace("#\[code\](.*?)\ #si", "<p class=\"kod\"><u><b>Kod:</b></u><br/>\\1</p>", $str);
// Kod, podany autor
$str = preg_replace("#\[code=(http://)?(.*?)\](.*?)\#si", "<p class=\"kod\"><u><b>Kod \\2:</b></u><br/>\\3</p>", $str);
// Cytat
$str = preg_replace("#\[quote\](.*?)\[/quote]#si", "<p class=\"cytat\"><u><b>Cytat:</b></u><br/>\\1</p>", $str);
// Cytat, podany autor
$str = preg_replace("#\[quote=(http://)?(.*?)\](.*?)\[/quote]#si", "<p class=\"cytat\"><u><b>Cytat \\2:</b></u><br/>\\3</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);
// Odnośnik e-mail(własne definiowanie wyświetlanego tekstu)
$str = preg_replace("#\[email=([a-z0-9\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)?[\w]+)?(.*?)\](.*?)\[/email\]#i", "<a href=\"mailto:\\1@\\2\">\\5</a>", $str);
// kolejny wiersz
$str=nl2br($str);
// js
$str = preg_replace_callback("#\<(.*?)javascript(.*?)\>#si", "bbcode_js", $str);
// wynik
return $str;}
function bbcode_autolink($str){
$lnk=$str[3];
if(strlen($lnk)>30){
if(substr($lnk,0,3)=='www'){$l=9;}else{$l=5;}
$lnk=substr($lnk,0,$l).'(...)'.substr($lnk,strlen($lnk)-8);}
return ' <a href="'.$str[2].'://'.$str[3].'" target="_blank">'.$str[2].'://'.$lnk.'</a>';}
function bbcode_phpCode($code){
$code[1] = preg_replace("#\<a href=\"(.*?)?(.*?)\" target=\"_blank\">(.*?)\</a>#si", "\\2", $code[1]);
$code[1]=trim($code[1]);
$code[1]=bbcode_htmlCode($code[1]);
$code[1]=str_replace('<br />','',$code[1]);
$kod=highlight_string($code[1], TRUE);
$numerki=explode('|',bbcode_numeruj($kod));
$kod=str_replace("<code><font color=\"#000000\">\n",'<code><font color="#000000">',$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>';
$ret=str_replace('<br />','',$ret);
return $ret;}
// numeracja
Function bbcode_numeruj($str){
$linia=explode('<br />', $str);
$l=count($linia);
for($i=1;$i<=$l;$i++){
$ret.=$i.'<br>';
}
return $l.'|'.$ret;}
// pokaz html
function bbcode_htmlCode($str){
if(is_array($str)){$str=$str[1];}
$str=str_replace ( '&', '&', $str);
$str=str_replace ( ''', "'", $str);
$str=str_replace("<", "<", $str);
$str=str_replace(">", ">", $str);
$str=str_replace ( '"', '"', $str);
return $str;}
function ukryj ( $match ) {
$id = uniqid();
return '<a href="#" onclick="flip(\'' . $id . '\'); return false;"><b>' . $match[1] . '</b></a><div id="' . $id . '" class="ukryj" style="display: none;">' . $match[2] . '</div>';
}
// anti js
Function bbcode_js($str){
if(!eregi('<a href=\"javascript:mailto:mail\(\'',$str[0])){
return str_replace('javascript','java_script',$str[0]);
}else{return $str[0];}}
wyłączaj uśmieszki gdy wstawiasz kod :) / decymka
Edytowane przez decymka dnia 30.04.2006 13:07:10
|