📄 code.cgi
字号:
$post =~ s/(\[swf\])\s*(http|https|ftp):\/\/(\S+?\.swf)\s*(\[\/swf\])/<PARAM NAME=PLAY VALUE=TRUE><PARAM NAME=LOOP VALUE=TRUE><PARAM NAME=QUALITY VALUE=HIGH><embed src=$2:\/\/$3 quality=high pluginspage="http:\/\/www.macromedia.com\/shockwave\/download\/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application\/x-shockwave-flash" WIDTH=410 height=280><\/embed>/isg;
$post =~ s/(\[FLASH=)(\S+?)(\,)(\S+?)(\])\s*(http|https|ftp):\/\/(\S+?\.swf)\s*(\[\/FLASH\])/<OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" WIDTH=$2 HEIGHT=$4><PARAM NAME=MOVIE VALUE=$6:\/\/$7><PARAM NAME=PLAY VALUE=TRUE><PARAM NAME=LOOP VALUE=TRUE><PARAM NAME=QUALITY VALUE=HIGH><EMBED SRC=$6:\/\/$7 WIDTH=$2 HEIGHT=$4 PLAY=TRUE LOOP=TRUE QUALITY=HIGH><\/EMBED><\/OBJECT>/isg;
$post =~ s/(^|\s|\>)(http|https|ftp):\/\/(\S+?\.swf)/$1<PARAM NAME=PLAY VALUE=TRUE><PARAM NAME=LOOP VALUE=TRUE><PARAM NAME=QUALITY VALUE=HIGH><embed src=$2:\/\/$3 quality=high pluginspage="http:\/\/www.macromedia.com\/shockwave\/download\/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application\/x-shockwave-flash" WIDTH=410 height=280><\/embed>/isg;
}
$post =~ s/(^|\s|\>|\\|\;)(http|https|ftp):\/\/(\S+?)(\s|$|\<|\[)/$1<a href=$2:\/\/$3\ target=_blank>$2\:\/\/$3<\/a>$4/isg;
$post =~ s/(^|\s|\>|\\|\;)www\.(\S+?)(\s|$|\<|\[)/$1<a href=http:\/\/www.$2 target=_blank>www.$2<\/a>$3/isg;
$post =~ s/(^|\s|\>|\;)(\w+\@\w+\.\w+)(\s|$|\<|\[)/$1<A HREF=mailto:$2>$2<\/A>$3/isg;
unless ($post =~ /\[\/.{1,12}]/) {
return ($post);
}
$post =~ s/\[url\](\[\S+\])(\S+?)(\[\S+\])\[\/url\]/<a href=$2 target=_blank>$1$2$3<\/a>/isg;
$post =~ s/\[url=\s*(.*?)\s*\]\s*(.*?)\s*\[\/url\]/<a href=$1 target=_blank>$2<\/a>/isg;
$post =~ s/\[url\]\s*(.*?)\s*\[\/url\]/<a href=$1 target=_blank>$1<\/a>/isg;
$post =~ s/(\[email\])(\S+\@\S+?)(\[\/email\])/<A HREF="mailto:$2">$2<\/A>/isg;
$post =~ s/\[email=(\S+?\@\S+?)\]\s*(.*?)\s*\[\/email\]/<a href=mailto:$1>$2<\/a>/isg;
if ($hidejf eq "yes" ) {
if ($viewhide ne "1") {
$post =~ s/(\[hide\])(.+?)(\[\/hide\])/<blockquote><font color=$posternamecolor>隐藏: <hr noshade size=1><font color=$fonthighlight>本部分内容已经隐藏,必须回复后,才能查看<\/font><hr noshade size=1><\/blockquote><\/font><\/blockquote>/isg;
}
else {
$post =~ s/\[hide\](.*)\[hide\](.*)\[\/quote](.*)\[\/hide\]/<blockquote><font color=$posternamecolor>隐藏: <hr noshade>$1<blockquote><hr noshade size=1>$2<hr noshade size=1><\/blockquote>$3<\/font><hr noshade><\/blockquote>/isg;
$post =~ s/\[hide\]\s*(.*?)\s*\[\/hide\]/<blockquote><font color=$posternamecolor>隐藏: <hr noshade size=1>$1<hr noshade size=1><\/blockquote><\/font>/isg;
}
}
if ($postjf eq "yes") {
if ($post =~m/\[post=(.+?)\](.+?)\[\/post\]/isg){
$viewusepost=$1;
if ($StartCheck >= $viewusepost) { $Checkpost='ok'; } else { $Checkpost='not'; }
if(($Checkpost eq 'ok')||($mymembercode eq "ad")||($mymembercode eq "smo")||($myinmembmod eq "yes")||($membername eq $inmembername)){
$post =~s/\[post=(.+?)\](.+?)\[\/post\]/<blockquote><font color=$posternamecolor>文章内容:(发言总数须有 <B>$viewusepost<\/B> 才能查看本贴) <hr noshade size=1>$2<hr noshade size=1><\/font><\/blockquote>/isg;
}else{
$post =~s/\[post=(.+?)\](.+?)\[\/post\]/<blockquote><font color=$posternamecolor>文章内容: <hr noshade size=1><font color=$fonthighlight>本内容已被隐藏 , 发言总数须有 <B>$viewusepost<\/B> 才能查看<\/font><hr noshade size=1><\/font><\/blockquote>/isg;
}
}
}
if ($post =~/\[HTML\](.+?)\[\/HTML\]/is) {
while ($post =~/\[HTML\](.+?)\[\/HTML\]/is){
$post1=$post;
$post1 =~ s/(\[HTML\])(.+?)(\[\/HTML\])/<SPAN><IMG src=$imagesurl\/images\/code.gif align=absBottom> HTML 代码片段如下:<BR><TEXTAREA style=\"WIDTH: 94%; BACKGROUND-COLOR: #f7f7f7\" name=textfield rows=10>$2<\/TEXTAREA><BR><INPUT onclick=runEx() type=button value=运行此代码 name=Button> [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]<\/SPAN><BR>/is;
$post1=$2;
$post1 =~ s/\&\#106\;avascript/javascript/isg;
$post1 =~ s/\&\#118\;alue/value/isg;
$post1 =~ s/\&\#111\;nmouse/onmouse/isg;
$post1=~s /<br>/\n/sg;
$post1=~s /<p>/\n\n/sg;
$post1=&HTML($post1);
$post1 =~ s/</\</g;
$post1 =~ s/>/\>/g;
$post1 =~ s/"/\"/g;
$post =~ s/(\[HTML\])(.+?)(\[\/HTML\])/<br><SPAN><IMG src=$imagesurl\/images\/code.gif align=absBottom> HTML 代码片段如下:<BR><TEXTAREA style=\"WIDTH: 94%; BACKGROUND-COLOR: #f7f7f7\" name=textfield rows=10>$post1<\/TEXTAREA><BR><INPUT onclick=runEx() type=button value=运行此代码 name=Button> [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]<\/SPAN><BR>/is;
}
}else{
$post =~ s/\<p>/<br><br>/isg;
$post =~ s|<br>| <br>|g;
$post =~ s|\[hr\]\n|\<hr width=40\% align=left>|g;
$post =~ s|\[hr\]|\<hr width=40\% align=left>|g;
if ($count eq 1) { $quoteback = $postcolortwo; } else { $quoteback = $postcolorone; }
$post =~ s/\[quote\]\s*(.*?)\s*\[\/quote\]/<BR><table cellpadding=0 cellspacing=0 border=0 WIDTH=94\% bgcolor=#000000 align=center style=\"TABLE-LAYOUT: fixed\"><tr><td><table width=100% cellpadding=5 cellspacing=1 border=0><TR><TD BGCOLOR=$quoteback style=\"LEFT: 0px; WIDTH: 100%; WORD-WRAP: break-word; \">$1<\/td><\/tr><\/table><\/td><\/tr><\/table><BR>/isg;
$post =~ s|\[\[|\{\{|g;
$post =~ s|\]\]|\}\}|g;
$post =~ s|\n\[|\[|g;
$post =~ s|\]\n|\]|g;
$post =~ s/\[br\]/<br>/isg;
if (($arrawpostfontsize eq "on")||($membercode eq 'mo' ||$membercode eq 'cmo' || $membercode eq 'ad' || $inmembmod eq 'yes' || $membercode eq 'smo')) {
$post =~ s/\[size=\s*([1-6])\s*\]\s*(.*?)\s*\[\/size\]/<font size=$1>$2<\/font>/isg;
}
if (($arrawpostsound eq "on")||($membercode eq 'mo' ||$membercode eq 'cmo' || $membercode eq 'ad' || $inmembmod eq 'yes' || $membercode eq 'smo')) {
$post =~ s/(\[sound\])\s*(http|https|ftp):\/\/(\S+?\.wav)\s*(\[\/sound\])/<bgsound src=$2:\/\/$3 border=0><img src=$imagesurl\/images\/mid.gif width=16 height=16 alt=WAVE音乐>/isg;
$post =~ s/(\[sound\])\s*(http|https|ftp):\/\/(\S+?\.)(mid|midi)\s*(\[\/sound\])/<bgsound src=$2:\/\/$3$4 border=0><img src=$imagesurl\/images\/wave.gif width=16 height=16 alt=MIDI音乐>/isg;
}
if (($arrawpostreal eq "on")||($membercode eq 'mo' || $membercode eq 'cmo' || $membercode eq 'ad' || $inmembmod eq 'yes' || $membercode eq 'smo')) {
$post =~ s/(\[ra\])(\S+?\.)(ram|rmm|mp3|mp2|mpa|ra)(\[\/ra\])/<b>这个是 RealPlayer 音乐:<\/b><br><object classid="clsid:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA" id="RAOCX" width="480" height="70"><param name="_ExtentX" value="6694"><param name="_ExtentY" value="1588"><param name="AUTOSTART" value="0"><param name="SHUFFLE" value="0"><param name="PREFETCH" value="0"><param name="NOLABELS" value="0"><param name="SRC" value="$2$3"><param name="CONTROLS" value="StatusBar,ControlPanel"><param name="LOOP" value="0"><param name="NUMLOOP" value="0"><param name="CENTER" value="0"><param name="MAINTAINASPECT" value="0"><param name="BACKGROUNDCOLOR" value="#000000"><embed src="$2$3" width="320" autostart="true" height="70"><\/object><BR>/isg;
$post =~ s/(\[rm\])(\S+?\.)(ram|rmm|rm|mpg|mpv|mpeg|dat|avi)(\[\/rm\])/<b>这个是 RealPlayer 影片:<\/b><br><object classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" HEIGHT=300 ID=Player WIDTH=480 VIEWASTEXT><param NAME="_ExtentX" VALUE="12726"><param NAME="_ExtentY" VALUE="8520"><param NAME="AUTOSTART" VALUE="0"><param NAME="SHUFFLE" VALUE="0"><param NAME="PREFETCH" VALUE="0"><param NAME="NOLABELS" VALUE="0"><param NAME="CONTROLS" VALUE="ImageWindow"><param NAME="CONSOLE" VALUE="_master"><param NAME="LOOP" VALUE="0"><param NAME="NUMLOOP" VALUE="0"><param NAME="CENTER" VALUE="0"><param NAME="MAINTAINASPECT" VALUE="$2$3"><param NAME="BACKGROUNDCOLOR" VALUE="#000000"><\/object><br><object CLASSID=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA HEIGHT=32 ID=Player WIDTH=480 VIEWASTEXT><param NAME="_ExtentX" VALUE="18256"><param NAME="_ExtentY" VALUE="794"><param NAME="AUTOSTART" VALUE="0"><param NAME="SHUFFLE" VALUE="0"><param NAME="PREFETCH" VALUE="0"><param NAME="NOLABELS" VALUE="0"><param NAME="CONTROLS" VALUE="controlpanel"><param NAME="CONSOLE" VALUE="_master"><param NAME="LOOP" VALUE="0"><param NAME="NUMLOOP" VALUE="0"><param NAME="CENTER" VALUE="0"><param NAME="MAINTAINASPECT" VALUE="0"><param NAME="BACKGROUNDCOLOR" VALUE="#000000"><param NAME="SRC" VALUE="$2$3"><\/object><BR>/isg;
$post =~ s/(\[real=)(\S+?)(\,)(\S+?)(\])(\S+?\.)(ram|rmm|rm|mpg|mpv|mpeg|dat|avi)(\[\/real\])/<b>这个是 RealPlayer 影片:<\/b><br><object classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" HEIGHT=$4 ID=Player WIDTH=$2 VIEWASTEXT><param NAME="_ExtentX" VALUE="12726"><param NAME="_ExtentY" VALUE="8520"><param NAME="AUTOSTART" VALUE="1"><param NAME="SHUFFLE" VALUE="0"><param NAME="PREFETCH" VALUE="0"><param NAME="NOLABELS" VALUE="0"><param NAME="CONTROLS" VALUE="ImageWindow"><param NAME="CONSOLE" VALUE="_master"><param NAME="LOOP" VALUE="0"><param NAME="NUMLOOP" VALUE="0"><param NAME="CENTER" VALUE="0"><param NAME="MAINTAINASPECT" VALUE="$6"><param NAME="BACKGROUNDCOLOR" VALUE="#000000"><\/object><br><object CLASSID=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA HEIGHT=32 ID=Player WIDTH=$2 VIEWASTEXT><param NAME="_ExtentX" VALUE="18256"><param NAME="_ExtentY" VALUE="794"><param NAME="AUTOSTART" VALUE="1"><param NAME="SHUFFLE" VALUE="0"><param NAME="PREFETCH" VALUE="0"><param NAME="NOLABELS" VALUE="0"><param NAME="CONTROLS" VALUE="controlpanel"><param NAME="CONSOLE" VALUE="_master"><param NAME="LOOP" VALUE="0"><param NAME="NUMLOOP" VALUE="0"><param NAME="CENTER" VALUE="0"><param NAME="MAINTAINASPECT" VALUE="0"><param NAME="BACKGROUNDCOLOR" VALUE="#000000"><param NAME="SRC" VALUE="$6$7"><\/object><BR>/isg;
} else {
$post =~ s/(\[ra\])(\S+?\.)(ram|rmm|mp3|mp2|mpa|ra)(\[\/ra\])/<b>这个分论坛不允许贴 RealPlayer 音乐<\/b><BR><a href="$2$3">$2$3<\/a>/isg;
$post =~ s/(\[rm\])(\S+?\.)(ram|rmm|rm|mpg|mpv|mpeg|dat|avi)(\[\/rm\])/<b>这个分论坛不允许贴 RealPlayer 影片<\/b><BR><a href="$2$3">$2$3<\/a>/isg;
$post =~ s/(\[real=)(\S+?)(\,)(\S+?)(\])(\S+?\.)(ram|rmm|rm|mpg|mpv|mpeg|dat|avi)(\[\/real\])/<b>这个分论坛不允许贴 RealPlayer 影片<\/b><BR><a href="$6$7">$6$7<\/a>/isg;
}
if (($arrawpostmedia eq "on")||($membercode eq 'mo' || $membercode eq 'cmo' || $membercode eq 'ad' || $inmembmod eq 'yes' || $membercode eq 'smo')) {
$post =~ s/(\[wma\])(\S+?\.)(ram|wma|mp3|mp2|ra|mpa)(\[\/wma\])/<b>这个是 Windows Media Player 音乐:<\/b><br><embed type="application\/x-mplayer2" pluginspage="http:\/\/www.microsoft.com\/Windows\/Downloads\/Contents\/Products\/MediaPlayer\/" src="$2$3" name="realradio" showcontrols=1 ShowDisplay=0 ShowStatusBar=1 width=480 height=70 autostart=0><\/embed><BR>/isg;
$post =~ s/(\[wmv\])(\S+?\.)(ram|asf|asx|avi|wmv|mpg|mpeg|dat)(\[\/wmv\])/<b>这个是 Windows Media Player 影片:<\/b><br><object id="videowindow1" width="480" height="330" classid="CLSID:6BF52A52-394A-11D3-B153-00C04F79FAA6"><param NAME="URL" value="$2$3"><param name="AUTOSTART" value="0"><\/object><BR>/isg;
$post =~ s/(\[wm=)(\S+?)(\,)(\S+?)(\])(\S+?\.)(ram|asf|asx|avi|wmv|mpg|mpeg|dat)(\[\/wm\])/<b>这个是 Windows Media Player 影片:<\/b><br><object id="videowindow1" width=$2 height=$4 classid="CLSID:6BF52A52-394A-11D3-B153-00C04F79FAA6"><param NAME="URL" value="$6$7"><param name="AUTOSTART" value="0"><\/object><BR>/isg;
} else {
$post =~ s/(\[wma\])(\S+?\.)(ram|wma|mp3|mp2|ra|mpa)(\[\/wma\])/<b>这个分论坛不允许贴 Windows Media Player 音乐<\/b><BR><a href="$2$3">$2$3<\/a>/isg;
$post =~ s/(\[wmv\])(\S+?\.)(ram|asf|asx|avi|wmv|mpg|mpeg|dat)(\[\/wmv\])/<b>这个分论坛不允许贴 Windows Media Player 影片<\/b><BR><a href="$2$3">$2$3<\/a>/isg;
$post =~ s/(\[wm=)(\S+?)(\,)(\S+?)(\])(\S+?\.)(ram|asf|asx|avi|wmv|mpg|mpeg|dat)(\[\/wm\])/<b>这个分论坛不允许贴 Windows Media Player 影片<\/b><BR><a href="$6$7">$6$7<\/a>/isg;
}
$post =~ s/\[mms\]\s*mms:\/\/(.*?)\s*\[\/mms\]/<img src=$imagesurl\/images\/music.gif width=16 height=16 alt="WM 类数据流音乐" align=absmiddle> <a href="mms:\/\/$1">mms:\/\/$1<\/a>/isg;
$post =~ s/\[mms=\s*mms:\/\/(.*?)\s*\](.*?)\[\/mms\]/<img src=$imagesurl\/images\/music.gif width=16 height=16 alt="WM 类数据流音乐" align=absmiddle> <a href="mms:\/\/$1">$2<\/a>/isg;
$post =~ s/\[rtsp\]\s*(rtsp|pnm):\/\/(.*?)\s*\[\/rtsp\]/<img src=$imagesurl\/images\/ra.gif width=16 height=16 alt="Real 类数据流" align=absmiddle> <a href="$1:\/\/$2">$1:\/\/$2<\/a>/isg;
$post =~ s/\[rtsp=\s*(rtsp|pnm):\/\/(.*?)\s*\](.*?)\[\/rtsp\]/<img src=$imagesurl\/images\/ra.gif width=16 height=16 alt="Real 类数据流" align=absmiddle> <a href="$1:\/\/$2">$3<\/a>/isg;
$post =~ s/\[b\](.+?)\[\/b\]/<b>$1<\/b>/isg;
$post =~ s/\[i\](.+?)\[\/i\]/<i>$1<\/i>/isg;
$post =~ s/\[u\](.+?)\[\/u\]/<u>$1<\/u>/isg;
$post =~ s/\[font=\s*(.*?)\s*\]\s*(.*?)\s*\[\/font\]/<font face=$1>$2<\/font>/isg;
$post =~ s/\[color=(\S+?)\]\s*(.*?)\s*\[\/color\]/<font color=$1>$2<\/font>/isg;
$post =~ s/(\[list\])(.+?)(\[\/list\])/<ul>$2<\/ul>/isg;
$post =~ s/(\[list=s\])(.+?)(\[\/list\])/<ol type="square">$2<\/ol>/isg;
$post =~ s/(\[list=)(A|1|I)(\])(.+?)(\[\/list\])/<OL TYPE=$2>$4<\/OL>/isg;
$post =~ s/(\[list=)(\S+?)(])(.+?)(\[\/list\])/ <ol start="$2">$4<\/ol>/isg;
$post =~ s/\[\*\]/<li>/isg;
$post =~ s/(\[fly\])(.+?)(\[\/fly\])/<marquee width=90% behavior=alternate scrollamount=3>$2<\/marquee>/isg;
$post =~ s/(\[s\])(.+?)(\[\/s\])/<s>$2<\/s>/isg;
$post =~ s/(\[sup\])(.+?)(\[\/sup\])/<sup>$2<\/sup>/isg;
$post =~ s/(\[sub\])(.+?)(\[\/sub\])/<sub>$2<\/sub>/isg;
$post =~ s/(\[align=)(left|center|right)(\])(.+?)(\[\/align\])/<DIV Align=$2>$4<\/DIV>/isg;
$post =~ s/(\[SHADOW=)(\S+?)(\,)(.+?)(\,)(.+?)(\])(.+?)(\[\/SHADOW\])/<table width=$2 style="filter:shadow\(color=$4\, direction=$6)"><tr><td>$8<\/td><\/tr><\/table>/isg;
$post =~ s/(\[BLUR=)(\S+?)(\,)(.+?)(\,)(.+?)(\])(.+?)(\[\/BLUR\])/<table width=$2 style="filter:blur\(Add=0, direction=$4\, strength=$6)"><tr><td>$8<\/td><\/tr><\/table>/isg;
$post =~ s/(\[FLIPH\])(.+?)(\[\/FLIPH\])/<table style="filter:flipH"><tr><td>$2<\/td><\/tr><\/table>/isg;
$post =~ s/(\[FLIPV\])(.+?)(\[\/FLIPV\])/<table style="filter:flipV"><tr><td>$2<\/td><\/tr><\/table>/isg;
$post =~ s/(\[INVERT\])(.+?)(\[\/INVERT\])/<table style="filter:invert"><tr><td>$2<\/td><\/tr><\/table>/isg;
$post =~ s/(\[xray\])(.+?)(\[\/xray\])/<table style="filter:xray"><tr><td>$2<\/td><\/tr><\/table>/isg;
$post =~ s/(\[MOVE\])(.+?)(\[\/Move\])/<MARQUEE scrollamount=3>$2<\/MARQUEE>/isg;
# $post =~ s/<\/MARQUEE>(.{1,40})<\/td><\/tr><\/table>/<\/MARQUEE>$1/isg;
if ($openiframe eq "yes") {
$post =~ s/(\[iframe\])(.+?)(\[\/iframe\])/<IFRAME SRC='$2' FRAMEBORDER=0 ALLOWTRANSPARENCY="true" SCROLLING="YES" WIDTH="100%" HEIGHT=340><\/IFRAME><br><br><a href="$2" target="_blank">Netscape 用户点这儿察看<\/a><BR>/isg;
}
$post =~ s|\{\{|\[|g;
$post =~ s|\}\}|\]|g;
while ($post =~/\[code\](.+?)\[\/code\]/is){
my $post1 = $1;
$post1=&unHTML($1);
$post1=~s /\<br\>/\n/sg;
$post1=~s /\<p\>/\n\n/sg;
$post1 =~ s/\&/\&/g;
$post1=~s /\<br\>/<br>/sg;
$post =~ s/\[code\](.+?)\[\/code\]/<blockquote><font face=$font>代码:<\/font><hr><font face=$font><pre>$post1<\/pre><\/font><hr><\/blockquote>/is;
}
}
return $post;
}
sub doemoticons {
my $post = shift;
study($post);
unless ($post =~ /\:.{1,20}\:/) {return ($post);}
if ($#emoticondata < 1) {
open (FILE, "${lbdir}data/lbemot.cgi");
@emoticondata = <FILE>;
close (FILE);
}
chomp @emoticondata;
foreach (@emoticondata) {
$_ =~ s/\.gif$//ig;
next if ($post !~ /\:$_\:/i);
for (my $i=1;$i<=3;$i++) {
$post =~ s/\:$_\:/\<img src=$imagesurl\/emot\/$_.gif>/is;
last if ($post !~ /\:$_\:/i);
}
last if ($post !~ /\:.{1,20}\:/i);
$post =~ s/\:$_\://isg;
}
return $post;
}
1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -