仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 704|回复: 18
打印 上一主题 下一主题

[学习教程] PHP教程之ANSI色彩码转HTML

[复制链接]
只想知道 该用户已被删除
跳转到指定楼层
#
发表于 2015-2-4 00:10:46 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
学会了生成静态网页,现在你应该接触一下XML了,恩,XML也了解了,那么AJAX你也得接触接触吧?AJAX完了....然后...   此办法是一字一字往下抓ANSI色彩码转换,有点土法炼钢。以后和大局部TELNET软件
对照分歧是他们换行就有主动作加入码,而我这个并没有作。

<?
Echo
"<body bgcolor=000000><PRE Style='font-family:cvga;font-size:18px;color:C6C7C6;'>"
;
Echo
ANSI_2_HTML(Fread(Fopen("1.txt","r"),FileSize("1.txt"
)));
Echo
"</pre>"
;
## ANSI 转换成 HTML
Function ANSI_2_HTML($String
){

   
$ANSI_Light=Array("0"=>"000000","1"=>"#FF0000","2"=>"#00CC00","3"=>"#FFFF00","4"=>"#3366FF","5"=>"#CC33CC","6"=>"#66FFFF","7"=>"#FFFFFF"
);
   
$ANSI_Dark =Array("0"=>"000000","1"=>"#840000","2"=>"#008200","3"=>"#AD4100","4"=>"#000084","5"=>"#840084","6"=>"#00B6B5","7"=>"#C6C7C6"
);
   
   
## 色彩样本同CNEWS      

   
$flag_have_ansi= 0
;
   
$dl            = 0
;         
   
$flag_hava_bg  = 0
;

   
$String=Str_replace(Chr(27).'[m',Chr(27).'[0m',$String
);
   
   For(
$i=0;$i<Strlen($String);$i
++):
      If(
$String[$i]==Chr(27
)):
         
$lastString=Substr($String,$i,Strlen($String)-$i
);         
         If(
Ereg(Chr(27)."\[([0-8;]{0,}[^m])m",$lastString
)):
            
$ansicode=Substr($lastString,2,Strpos($lastString,'m')-2
);
            
$i=$i+Strpos($lastString,'m'
);
            
$Rendition=Split(";",$ansicode
);
            If(
Is_Array($Rendition)) Sort($Rendition
);
            For(
$j=0;$j<=count($Rendition)-1;$j
++):
               
$Rendition[$j]=(int)$Rendition[$j
];
               If(
$Rendition[$j]=='1') $dl=1
;
               If(
$Rendition[$j]=='0') $dl=0
;
               
               
$ansi=($dl=='0') ? $ANSI_Dark : $ANSI_Light
;

               If(
$Rendition[$j]<10
):
                  If(
$Rendition[$j]==0
) :
                     
$style="background-color:#000000;text-decoration:none;"
;
                     
$tempBg=""
;
                  EndIf;
                  If(
$Rendition[$j]==1
)
                     
$style="color:#ffffff;"
;
                  If(
$Rendition[$j]==4
)
                     
$style=$style."text-decoration:underline;"
;            
                  
# 5 blink on
                  # 7 reverse video on
                  # 8 nondisplayed (invisible) 缺 不晓得若何实作显示,但大局部后三者用不到
               
EndIf;               
               If(
$Rendition[$j]>=30&&$Rendition[$j]<=37
):
                  
$style=$style."color:".$ansi[$Rendition[$j]%10].";"
;
                  
$style=$style.$tempBg
;
               EndIf;
               If(
$Rendition[$j]>=40
):               
                  
$flag_hava_bg = 1
;
                  
$style=$style."background-color:".$ANSI_Dark[$Rendition[$j]%10].";"
;                  
                  
$tempBg="background-color:".$ANSI_Dark[$Rendition[$j]%10].";"
;
               EndIf;
            EndFor;
            
            If(
$flag_have_ansi==1
):
               
$font="</span><span style=$style>"
;
            ElseIf(
$flag_have_ansi==0
):
               
$flag_hava_bg = 0
;
               
$tempBg       =""
;
               
$font="<span style=$style>"
;
            EndIf;
            
$flag_have_ansi=1
;
            
$myansi.=$font
;   
         EndIf;
      Else:
         
$myansi.=$String[$i
];
      EndIf;
   EndFor;
   Return
"</span>".$myansi
;   
}


下图为TELNET软件阅读

                               
登录/注册后可看大图


下图为阅读器阅读

                               
登录/注册后可看大图
大家如果能懂得“熟能生巧”的道理也就明白了这并不是浪费时间,同时这也可以减轻板主的负担,让他们有时间去处理更难的问题。
飘飘悠悠 该用户已被删除
18#
发表于 2015-5-9 12:41:21 | 只看该作者
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
蒙在股里 该用户已被删除
17#
发表于 2015-4-17 10:21:55 | 只看该作者
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
第二个灵魂 该用户已被删除
16#
发表于 2015-4-16 20:10:13 | 只看该作者
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
灵魂腐蚀 该用户已被删除
15#
发表于 2015-4-16 12:11:49 | 只看该作者
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
谁可相欹 该用户已被删除
14#
发表于 2015-4-16 08:31:46 | 只看该作者
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
愤怒的大鸟 该用户已被删除
13#
发表于 2015-4-6 04:10:52 | 只看该作者
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
因胸联盟 该用户已被删除
12#
发表于 2015-4-4 00:45:07 | 只看该作者
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
小魔女 该用户已被删除
11#
发表于 2015-3-27 20:09:57 | 只看该作者
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
海妖 该用户已被删除
10#
发表于 2015-3-27 16:10:53 | 只看该作者
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
飘灵儿 该用户已被删除
9#
发表于 2015-3-22 17:09:20 | 只看该作者
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
分手快乐 该用户已被删除
8#
发表于 2015-3-18 16:52:51 | 只看该作者
写的比较杂,因为我也是个新手,不当至于大家多多指正。
精灵巫婆 该用户已被删除
7#
发表于 2015-3-17 17:06:41 | 只看该作者
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
老尸 该用户已被删除
6#
发表于 2015-3-17 05:11:17 | 只看该作者
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
活着的死人 该用户已被删除
5#
发表于 2015-3-10 07:57:45 | 只看该作者
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
地板
发表于 2015-3-8 00:03:44 | 只看该作者
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
若天明 该用户已被删除
板凳
发表于 2015-2-11 04:39:30 | 只看该作者
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
再现理想 该用户已被删除
沙发
发表于 2015-2-5 04:53:04 | 只看该作者
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
冷月葬花魂 该用户已被删除
楼主
发表于 2015-2-4 09:49:50 | 只看该作者
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 03:29

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表