ANSI カラーコードを HTML に変換

WBOY
リリース: 2016-06-21 09:05:54
オリジナル
1196 人が閲覧しました

此方法是一字一字往下抓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;'> &quot;&lt;/font&gt;&lt;/font&gt;&lt;font face=&quot;新宋体&quot;&gt;&lt;font color=&quot;#007700&quot;&gt;;&lt;br&gt;エコー &lt;/font&gt;&lt;font color=&quot;#0000bb&quot;&gt;ANSI_2_HTML&lt;/font&gt;&lt;font color=&quot;#007700&quot;&gt;(&lt;/font&gt;&lt;font color=&quot;#0000bb&quot;&gt;Fread&lt;/font&gt;&lt;font color=&quot;#007700&quot;&gt;(&lt;/font&gt;&lt;font color=&quot;#0000bb&quot;&gt;Fopen&lt;/font&gt;&lt;font color=&quot;#007700&quot;&gt;(&lt;/font&gt;&lt;font color=&quot;#dd0000&quot;&gt;&quot;1.txt&quot;&lt;/font&gt;&lt;font color=&quot;#007700&quot;&gt;,&lt;/font&gt;&lt;font color=&quot;#dd0000&quot;&gt;&quot;r&quot;) &lt;/font&gt;&lt;font color=&quot;#007700&quot;&gt;)、&lt;/font&gt;&lt;font color=&quot;#0000bb&quot;&gt;ファイルサイズ&lt;/font&gt;&lt;font color=&quot;#007700&quot;&gt; (&lt;/font&gt;&lt;font color=&quot;#dd0000&quot;&gt;&quot;1.txt&quot;&lt;/font&gt;&lt;/font&gt;&lt;font face=&quot;新宋体&quot;&gt;&lt;font color=&quot;#007700&quot;&gt;)));&lt;br&gt;Echo &lt;/font&gt;&lt;font color=&quot;#dd0000&quot;&gt;&quot;</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">=&gt) ;</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&gt ;<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>
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート