
在httpd.conf里加上AddType application/x-httpd-php .php
AddType image/x-icon .ico
然后把php5\php5ts.dll拷贝到apache\bin\目录下,重启服务器即可
使用php处理ActionScript代码,生成语法高亮的HTML页面。
处理的关键其实是注释段代码和引号里的代码。其他部分只要用正则表达式替换就可以了。
字符串代码和注释代码都具有很高的处理等级,因为注释里的任何代码,包括关键字、语法字,字符串等,都不会再处理,统一当作注释格式显示。而字符串里的代码也是这样,字符串里的任何代码,包括符合注释规则的代码都不应该再处理,而统一成字符串格式输出。
为此,我们需要首先把注释和字符串单独提取出来,保存在两个数组里面,然后对剩余的,不包含注释和字符串的代码进行语法高亮处理,最后,再把注释和字符串替换回去就可以了。
在做任何事情之前,先把特殊字符替换成HTML字符:
PHP Code
function filterHTML($asCode) { $replace = array ("&", """, "'", "<", ">", " "); $search = array ("'&'", "'\"'", "'\''", "'< '", "'>'", "' '"); $asCode = preg_replace ($search, $replace, $asCode); return $asCode; }
注意:$search数组里第2,3个元素第一个单引号后是有转义符的,但是由于wordpress处理的时候把转义符给去掉了,所以没显示出来。
在提取注释和字符串的时候应该注意的是,注释和字符串有同等的权利,只能按照谁出现的早就处理谁的规则进行提取,而不能说是先提取注释,或者先提取字符串,因为存在注释中包含字符串,字符串中包含注释的情况。为此,我们需要使用strpos就行判断。另外,注释有两种格式,一种是//,另一个是/**/,字符串包括双引号的和单引号的。因此首先要分别使用strpos获得第一次出现它们的位置,然后获取值最小的那个,也就是最早出现的那个,进行处理。直到再也查不到任何符合规则的代码,或者中间遇到了错误。
(more…)
PHP好像不能简单的接收HTML里使用同名复选框传递过来的数据,比如下面的form:
不管如何选择复选框,但在PHP服务器端只能接收到最后一个选中的框的内容,比较郁闷的。为此,修改下HTML代码:
(more…)