此方法是一字一字往下抓ANSI颜色码转换,有点土法炼钢。当前和大部分TELNET软件
比较不同是他们换行就有自动作退出码,而我这个并没有作。
<code><font color="#000000"><font color="#0000bb"></font><font face="新宋体"><font color="#007700"><?<br/>エコー</FONT><FONT color=#dd0000>"<body bgcolor=000000><PRE Style='font-family:cvga;font-size:18px;color:C6C7C6;'> "</font></font><font face="新宋体"><font color="#007700">;<br>エコー </font><font color="#0000bb">ANSI_2_HTML</font><font color="#007700">(</font><font color="#0000bb">Fread</font><font color="#007700">(</font><font color="#0000bb">Fopen</font><font color="#007700">(</font><font color="#dd0000">"1.txt"</font><font color="#007700">,</font><font color="#dd0000">"r") </font><font color="#007700">)、</font><font color="#0000bb">ファイルサイズ</font><font color="#007700"> (</font><font color="#dd0000">"1.txt"</font></font><font face="新宋体"><font color="#007700">)));<br>Echo </font><font color="#dd0000">"</pre>"</FONT></FONT><FONT face=新宋体 color=#007700>;<br/></FONT><FONT face=新宋体><FONT color=#ff8000>## ANSI 转换成 HTML<br/></FONT><FONT color=#007700>関数</FONT><FONT color=#0000bb>ANSI_2_HTML</FONT><FONT color=#007700> (</FONT><FONT color=#0000bb>$String</FONT></FONT><FONT face=新宋体><FONT color=#007700>){<br/><br/> </FONT><FONT color=#0000bb>$ANSI_Light</FONT><FONT color=#007700>=Array(</FONT><FONT color=#dd0000>"0"</FONT><FONT color=#007700>=></font><font color="#dd0000">"000000"</font><font color="#007700">,</font>) <font color="#dd0000">「1」</font><font color="#007700">=> </font><font color="#dd0000">"#FF0000"</font><font color="#007700">,</font><font color="#dd0000">"2"</font><font color="#007700">=></font><font color="#dd0000">"#00CC00"</font><font color="#007700">,</font><font color="#dd0000">"3"</font><font color="#007700">=></font><font color="#dd0000">"#FFFF00"</font><font color="#007700"> 、</font><font color="#dd0000">」 4"</font><font color="#007700">=></font><font color="#dd0000">"#3366FF"</font><font color="#007700">,</font><font color="#dd0000">"5"</font><font color="#007700">=></font><font color="#dd0000">"#CC33CC"</font><font color="#007700">,</font><font color="#dd0000">"6"</font><font color="#007700">=></font><font color="#dd0000">" #66FFFF "</font><font color="#007700">,</font><font color="#dd0000">"7"</font><font color="#007700">=></font><font color="#dd0000">"#FFFFFF"</font></font><font face="新宋体"><font color="#007700">);<br> </font><font color="#0000bb">$ANSI_Dark </font><font color="#007700">=Array(</font><font color="#dd0000">"0"</font><font color="#007700">=>) ;</font><font color="#dd0000">"000000 "</font><font color="#007700">,</font><font color="#dd0000">"1"</font><font color="#007700">=></font><font color="#dd0000">"#840000"</font><font color="#007700">,</font><font color="#dd0000">"2"</font><font color="#007700">=></font><font color="#dd0000">"#008200"</font><font color="#007700">,</font><font color="#dd0000">"3" </font><font color="#007700">= ></font><font color="#dd0000">"#AD4100"</font><font color="#007700">,</font><font color="#dd0000">"4"</font><font color="#007700">=></font><font color="#dd0000">"#000084"</font><font color="#007700">,</font><font color="#dd0000">"5"</font><font color="#007700">=></font><font color="#dd0000">"#840084" </font><font color="#007700">、</font> <font color="#dd0000">"6"</font><font color="#007700">=></font><font color="#dd0000">"#00B6B5"</font><font color="#007700">,</font><font color="#dd0000">"7"</font><font color="#007700">=></font><font color="#dd0000">"#C6C7C6"</font></font><font face="新宋体" color="#007700">);<br> <br> </font> <font face="新宋体"><font color="#ff8000">## 颜色样本同CNEWS <br><br> </font><font color="#0000bb">$flag_have_ansi</font><font color="#007700">= </font><font color="#0000bb">0</font></font><font face="新宋体"><font color="#007700">;<br> </font><font color="#0000bb">$dl </font><font color="#007700">= </font><font color="#0000bb">0</font></font> <font face="新宋体"><font color="#007700">; <br> </font><font color="#0000bb">$flag_hava_bg </font><font color="#007700">= </font><font color="#0000bb">0</font></font><font face="新宋体"><font color="#007700">;<br><br> </font><font color="#0000bb">$String</font><font color="#007700">=</font><font color="#0000bb">Str_replace</font><font color="#007700">(</font><font color="#0000bb">Chr</font><font color="#007700">(</font><font color="#0000bb">27</font><font color="#007700">).</font><font color="#dd0000">'[m'</font><font color="#007700">,</font><font color="#0000bb">Chr</font><font color="#007700">( </font><font color="#0000bb">27</font><font color="#007700">).</font><font color="#dd0000"> '[0m'</font><font color="#007700">,</font><font color="#0000bb">$String</font></font><font face="新宋体"><font color="#007700">);<br> <br> For(</font><font color="#0000bb">$i</font><font color="#007700">=</font><font color="#0000bb">0</font><font color="#007700">;</font><font color="#0000bb">$i</font><font color="#007700"><</FONT> <FONT color=#0000bb>ストレン</FONT><FONT color=#007700>(</FONT><FONT color=#0000bb> $String</FONT><FONT color=#007700>);</FONT><FONT color=#0000bb>$i</FONT></FONT><FONT face=新宋体><FONT color=#007700>++):<br/> If(</FONT><FONT color=#0000bb>$String</FONT><FONT color=#007700>[</FONT><FONT color=#0000bb>$i</FONT><FONT color=#007700>]==</FONT><FONT color=#0000bb>Chr</FONT><FONT color=#007700>(</FONT><FONT color=#0000bb>2 7</FONT></FONT><FONT face=新宋体><FONT color=#007700> )):<br/> </FONT><FONT color=#0000bb>$lastString</FONT><FONT color=#007700>=</FONT><FONT color=#0000bb>Substr</FONT><FONT color=#007700>(</FONT><FONT color=#0000bb>$String</FONT><FONT color=#007700>,</FONT><FONT color=#0000bb>$i</FONT><FONT color=#007700>,</FONT><FONT color=#0000bb>Strlen</FONT><FONT color=#007700>(</FONT>) <FONT color=#0000bb>$String</FONT><FONT color=#007700>)-</FONT><FONT color=#0000bb>$i</FONT> </FONT><FONT face=新宋体><FONT color=#007700>); <br/> If(</FONT><FONT color=#0000bb>Ereg</FONT><FONT color=#007700>(</FONT><FONT color=#0000bb>Chr</FONT><FONT color=#007700>(</FONT><FONT color=#0000bb>27</FONT><FONT color=#007700>).</FONT><FONT color=#dd0000>"[([0-8;]{0,}[^m])m"</FONT><FONT color=#007700>,</FONT><FONT color=#0000bb>$ lastString</FONT></FONT><FONT face=新宋体><FONT color=#007700>)):<br/> </FONT><FONT color=#0000bb>$ansicode</FONT><FONT color=#007700>=</FONT><FONT color=#0000bb>Substr</FONT><FONT color=#007700>(</FONT><FONT color=#0000bb>$lastString</FONT><FONT color=#007700>,</FONT><FONT color=#0000bb>2</FONT><FONT color=#007700>,</FONT>) <FONT color=#0000bb>Strpos</FONT><FONT color=#007700>(</FONT><FONT color=#0000bb>$lastString</FONT><FONT color=#007700>,</FONT><FONT color=#dd0000> 'm'</FONT><FONT color=#007700>)-</FONT><FONT color=#0000bb>2</FONT></FONT><FONT face=新宋体><FONT color=#007700>);<br/> </FONT><FONT color=#0000bb>$i</FONT><FONT color=#007700>=</FONT><FONT color=#0000bb>$i</FONT><FONT color=#007700>+</FONT><FONT color=#0000bb>Strpos</FONT><FONT color=#007700>(</FONT><FONT color=#0000bb>$ lastString</FONT><FONT color=#007700>、</FONT><FONT color=#dd0000>は'</FONT> </FONT><FONT face=新宋体><FONT color=#007700>);<br/> </FONT><FONT color=#0000bb>$Rendition</FONT><FONT color=#007700>=</FONT><FONT color=#0000bb>Split</FONT><FONT color=#007700>(</FONT><FONT color=#dd0000>";"</FONT><FONT color=#007700>,</FONT><FONT color=#0000bb>$ansicode</FONT></FONT><FONT face=新宋体><FONT color=#007700>); <br/> If(</FONT><FONT color=#0000bb>Is_Array</FONT><FONT color=#007700>(</FONT><FONT color=#0000bb>$Rendition </FONT><FONT color=#007700>)) </FONT><FONT color=#0000bb>並べ替え</FONT><FONT color=#007700>(</FONT><FONT color=#0000bb>$レンディション</FONT></FONT><FONT face=新宋体><FONT color=#007700>);<br/> For(</FONT><FONT color=#0000bb>$j</FONT><FONT color=#007700>=</FONT><FONT color=#0000bb>0</FONT><FONT color=#007700>;</FONT> <FONT color=#0000bb>$j</FONT><FONT color=#007700><=</FONT><FONT color=#0000bb>カウント</FONT><FONT color=#007700> (</FONT><FONT color=#0000bb>$レンディション</FONT><FONT color=#007700>)-</FONT><FONT color=#0000bb>1</FONT><FONT color=#007700>;</FONT><FONT color=#0000bb>$j</FONT></FONT><FONT face=新宋体><FONT color=#007700>++):<br/> </FONT><FONT color=#0000bb>$レンディション</FONT><FONT color=#007700>[</FONT><FONT color=#0000bb>$j] </FONT><FONT color=#007700>]=(int)</FONT><FONT color=#0000bb>$レンディション</FONT><FONT color=#007700>[</FONT><FONT color=#0000bb>$j</FONT></FONT><FONT face=新宋体><FONT color=#007700>];<br/> If(</FONT><FONT color=#0000bb>$Rendition</FONT><FONT color=#007700>[</FONT><FONT color=#0000bb>$j</FONT><FONT color=#007700>]==</FONT><FONT color=#dd0000>'1'</FONT><FONT color=#007700>) </FONT><FONT color=#0000bb>$dl</FONT><FONT color=#007700>=</FONT><FONT color=#0000bb>1</FONT></FONT><FONT face=新宋体><FONT color=#007700>;<br/> If(</FONT><FONT color=#0000bb>$レンディション</FONT><FONT color=#007700> [</FONT><FONT color=#0000bb>$j</FONT><FONT color=#007700>]==</FONT><FONT color=#dd0000>'0'</FONT><FONT color=#007700>) </FONT><FONT color=#0000bb>$dl</FONT><FONT color=#007700>=</FONT><FONT color=#0000bb>0</FONT></FONT><FONT face=新宋体><FONT color=#007700>;<br/> <br/> </FONT><FONT color=#0000bb>$ansi</FONT><FONT color=#007700>=(</FONT><FONT color=#0000bb>$dl</FONT><FONT color=#007700>= =</FONT><FONT color=#dd0000>'0'</FONT><FONT color=#007700>) ? </FONT><FONT color=#0000bb>$ANSI_Dark </FONT><FONT color=#007700>: </FONT><FONT color=#0000bb>$ANSI_Light</FONT></FONT><FONT face=新宋体><FONT color=#007700>;<br/><br/> If(</FONT><FONT color=#0000bb>$Rendition</FONT><FONT color=#007700>[</FONT><FONT color=#0000bb>$j</FONT><FONT color=#007700>]< </FONT><FONT color=#0000bb>10</FONT></FONT><FONT face=新宋体><FONT color=#007700>):<br/> If(</FONT><FONT color=#0000bb> $Rendition</FONT><FONT color=#007700>[</FONT><FONT color=#0000bb>$j</FONT><FONT color=#007700>]==</FONT><FONT color=#0000bb>0</FONT></FONT><FONT face=新宋体><FONT color=#007700>) :<br/> </FONT><FONT color=#0000bb>$style</FONT><FONT color=#007700>=</FONT><FONT color=#dd0000>"背景色: #000000;テキスト装飾:なし;"</FONT></FONT> <FONT face=新宋体><FONT color=#007700>;<br/> </FONT><FONT color=#0000bb>$tempBg</FONT><FONT color=#007700>=</FONT><FONT color=#dd0000>""</FONT></FONT><FONT face=新宋体><FONT color=#007700>;<br/> EndIf;<br/> If(</FONT><FONT color=#0000bb>$Rendition</FONT><FONT color=#007700>[</FONT><FONT color=#0000bb>$j</FONT><FONT color=#007700>]==</FONT><FONT color=#0000bb>1</FONT></FONT><FONT face=新宋体><FONT color=#007700>) <br/> </FONT><FONT color=#0000bb>$style</FONT><FONT color=#007700>=</FONT><FONT color=#dd0000>"color:#ffffff;"</FONT></FONT><FONT face=新宋体><FONT color=#007700>;<br/> If(</FONT><FONT color=#0000bb>$Rendition</FONT> <FONT color=#007700>[</FONT><FONT color=#0000bb>$j</FONT><FONT color=#007700>]==</FONT><FONT color=#0000bb>4</FONT></FONT><FONT face=新宋体><FONT color=#007700>) <br/> </FONT><FONT color=#0000bb>$style</FONT><FONT color=#007700>=</FONT><FONT color=#0000bb>$style</FONT><FONT color=#007700>.</FONT><FONT color=#dd0000>"text-decoration:underline;"</FONT></FONT><FONT face=新宋体 color=#007700>; <br/> </FONT><FONT face=新宋体 color=#ff8000># 5 点滅オン<br/> # 7 リバースビデオオン<br/> #8 非表示 (不可視) 缺 不知道どのように作られるか显示、ただし大部分後三者用不到<br/> </FONT><FONT face=新宋体><FONT color=#007700>EndIf; <br/> If(</FONT><FONT color=#0000bb>$レンディション</FONT><FONT color=#007700>[</FONT><FONT color=#0000bb>$j</FONT><FONT color=#007700>]>=</font><font color="#0000bb">30</font><font color="#007700">&&</font><font color="#0000bb">$レンディション</font><font color="#007700">[</font><font color="#0000bb">$j</font><font color="#007700">]<=</FONT><FONT color=#0000bb>37 </FONT></FONT><FONT face=新宋体><FONT color=#007700>) :<br/> </FONT><FONT color=#0000bb>$style</FONT><FONT color=#007700>=</FONT><FONT color=#0000bb>$style</FONT><FONT color=#007700>.</FONT><FONT color=#dd0000>"color:"</FONT><FONT color=#007700>.</FONT><FONT color=#0000bb>$ansi</FONT><FONT color=#007700>[</FONT><FONT color=#0000bb>$Rendition</FONT>] <FONT color=#007700>[</FONT><FONT color=#0000bb>$j</FONT><FONT color=#007700>]%</FONT><FONT color=#0000bb>10 </FONT><FONT color=#007700>].</FONT><FONT color=#dd0000>";"</FONT></FONT><FONT face=新宋体><FONT color=#007700>;<br/> </FONT><FONT color=#0000bb>$style</FONT><FONT color=#007700>=</FONT><FONT color=#0000bb>$style</FONT><FONT color=#007700>。</FONT><FONT color=#0000bb>$tempBg</FONT></FONT><FONT face=新宋体> <FONT color=#007700>;<br/> EndIf;<br/> If(</FONT><FONT color=#0000bb>$Rendition</FONT><FONT color=#007700> [</FONT><FONT color=#0000bb>$j</FONT><FONT color=#007700>]>=</FONT><FONT color=#0000bb>40</FONT></FONT><FONT face=新宋体><FONT color=#007700>): <br/> </FONT><FONT color=#0000bb>$flag_hava_bg </FONT><FONT color=#007700>= </FONT><FONT color=#0000bb>1</FONT></FONT><FONT face=新宋体><FONT color=#007700>;<br/> </FONT><FONT color=#0000bb>$style</FONT><FONT color=#007700>=</FONT><FONT color=#0000bb>$style</FONT><FONT color=#007700> .</FONT><FONT color=#dd0000>"背景色:"</FONT><FONT color=#007700>.</FONT><FONT color=#0000bb>$ANSI_Dark</FONT><FONT color=#007700>[</FONT><FONT color=#0000bb>$Rendition</FONT><FONT color=#007700>[</FONT><FONT color=#0000bb>$j</FONT><FONT color=#007700>]%</FONT><FONT color=#0000bb>10</FONT><FONT color=#007700>].</FONT><FONT color=#dd0000>";" </FONT></FONT><FONT face=新宋体><FONT color=#007700> ; <br/> </FONT><FONT color=#0000bb>$tempBg</FONT><FONT color=#007700>=</FONT><FONT color=#dd0000>"背景色:"</FONT><FONT color=#007700>.</FONT><FONT color=#0000bb>$ANSI_Dark</FONT><FONT color=#007700>[</FONT><FONT color=#0000bb>$Rendition</FONT><FONT color=#007700>[</FONT><FONT color=#0000bb>$j] </FONT><FONT color=#007700>]%</FONT><FONT color=#0000bb>10</FONT><FONT color=#007700>].</FONT><FONT color=#dd0000> ";"</FONT></FONT><FONT face=新宋体><FONT color=#007700>;<br/> EndIf;<br/> EndFor;<br/> <br/> If(</FONT><FONT color=#0000bb>$flag_have_ansi</FONT><FONT color=#007700>= =</FONT><FONT color=#0000bb>1</FONT></FONT><FONT face=新宋体><FONT color=#007700>):<br/> </FONT><FONT color=#0000bb>$font</FONT><FONT color=#007700>=</FONT><FONT color=#dd0000>"</span> ;<span style=$style>"</font></font><font face="新宋体"><font color="#007700">;<br> ElseIf(</font><font color="#0000bb">$flag_have_ansi</font><font color="#007700">==</font><font color="#0000bb">0</font></font><font face="新宋体"><font color="#007700">):<br> </font><font color="#0000bb">$flag_hava_bg </font><font color="#007700">= </font><font color="#0000bb">0</font></font><font face="新宋体"><font color="#007700"> ;<br></font><font color="#0000bb">$tempBg </font><font color="#007700">=</font><font color="#dd0000">""</font></font><font face="新宋体"><font color="#007700">;<br> </font><font color="#0000bb"></font><font color="#007700">;</font> EndIf;<font color="#dd0000"></font>$flag_have_ansi</font> <font face="新宋体">=<font color="#007700"><br>1<br></font> <font color="#0000bb"></font>;<font color="#007700"> その他の場合: </font> <font color="#0000bb"></font>$i</font> <font face="新宋体"> <font color="#007700"><br>];</font> EndIf;<font color="#0000bb"> EndFor;</font> Return <font color="#007700"></font>"</span>"<font color="#0000bb"></font> </font>}<font face="新宋体"><font color="#007700"><br><br><br></font><font color="#0000bb"></font><font color="#007700"></font> <font color="#0000bb">下の写真はTELNETソフトウェアのブラウジングを示しています</font> <font color="#007700"></font>下の写真ブラウザの閲覧を示します<font color="#0000bb">
</font>
</font>
<font face="新宋体">
<font color="#007700">
<br><br></font></font></font> |