彩色显示和格式化PHP代码 我一般是这样echo highlight_string($code); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这里是演示地址http://www.yubeinet.com/surfchen/simple.class.html 我知道有,但是自己实现跟用现成的还是不一样的吧?而且我写的这个类是可以对PHP代码重新格式化的。大家可以不用回车换行空格,不用对齐,输入一段PHP代码测试一下 接下来,我还要扩展到其它语言如C++,java,vb的高亮显示和格式化,希望能提点意见 经测试,毛病多多。暂列如下,望修订!bug1、把数组元素定义的“=>”算符处理成了“= >”2、把switch的默认项default;处理成了default:default3、把形如$this->mbNewStatement= true ;处理成了形如$this->=mbNewStatement true ; 4、直接把\t替换撑个空格是不妥当的5、把$this->mResultString.= "<font color='". $this->mColorMap[$this->mFileType]['string']."'>";显示成$this->mResultString.= "$this->mColorMap[$this->mFileType]['string']."'>"; 是不妥当的 谢谢 xuzuning(唠叨),几个问题我今天测试也发现了,下班以后fix。还有几个问题和说明:1)同时//分行注释的时候,会显示在一行内2)case语句的格式化比较麻烦,现在会显示成这种格式:case 1: { break;}case 2: break;3) default关键字没有加入关键字列表4) \t在格式化的时候是忽略的,忽略的还有空格,\r\n,就是这段代码:if ($this->mbIgnoreSpace) { $str = preg_replace('/([\n])/', '', $str ) ; $str = str_replace("\t", '', $str ) ; $str = str_replace(' ', '', $str ) ;}5) 对于一条语句没有结束就换行,现在的做法是保持原有格式,没有格式化也是有问题的,应该统计一行不超过80个字符,也没有好的思路6)扩展的时候类c语言还可以,都是{}分割,但是象vb是换行 end语句结束的,也不能这么分析7)效率确实是个问题,跟c直接用指针操作比肯定会比较慢,只能想想能不能优化点了也许本身这个程序没有什么用途,但是去做的时候会发现其中有很多可以研究的东西的 为什么使用PHPExcel在万网服务器下载会出现乱码 如何在网站空间,部署运行socket服务器? login 的 界面比较丑 PHP是不是过时了, 学了这么久的php,连这个也不清楚是怎么回事 有没有愿意合作创业的? 请问怎样重定向一个页面? 关于客户端验证库中是否已经存在此记录的问题 苦恼!!郁闷!!! 哪里有好的php教程 小问题,在线等! php能写收发hotmail,yahoo邮件程序吗?
http://www.yubeinet.com/surfchen/simple.class.html
而且我写的这个类是可以对PHP代码重新格式化的。
大家可以不用回车换行空格,不用对齐,输入一段PHP代码测试一下
bug
1、把数组元素定义的“=>”算符处理成了“= >”
2、把switch的默认项default;处理成了default:default
3、把形如$this->mbNewStatement= true ;处理成了形如$this->=mbNewStatement true ;
4、直接把\t替换撑个空格是不妥当的
5、把
$this->mResultString.= "<font color='".
$this->mColorMap[$this->mFileType]['string']."'>";
显示成
$this->mResultString.= "$this->mColorMap[$this->mFileType]['string']."'>";
是不妥当的
还有几个问题和说明:
1)同时//分行注释的时候,会显示在一行内
2)case语句的格式化比较麻烦,现在会显示成这种格式:
case 1:
{
break;
}
case 2:
break;
3) default关键字没有加入关键字列表
4) \t在格式化的时候是忽略的,忽略的还有空格,\r\n,就是这段代码:
if ($this->mbIgnoreSpace)
{
$str = preg_replace('/([\n])/', '', $str ) ;
$str = str_replace("\t", '', $str ) ;
$str = str_replace(' ', '', $str ) ;
}
5) 对于一条语句没有结束就换行,现在的做法是保持原有格式,没有格式化也是有问题的,
应该统计一行不超过80个字符,也没有好的思路
6)扩展的时候类c语言还可以,都是{}分割,但是象vb是换行 end语句结束的,也不能这么
分析
7)效率确实是个问题,跟c直接用指针操作比肯定会比较慢,只能想想能不能优化点了也许本身这个程序没有什么用途,但是去做的时候会发现其中有很多可以研究的东西的