I Love China

技术·人生

技术服务生活
繁體

Archive for the ‘PHP’ Category

[APMXE5]让APMXE5支持中文路径

星期一, 4月 28th, 2008

在httpd.conf里加上AddType application/x-httpd-php .php
AddType image/x-icon .ico
然后把php5\php5ts.dll拷贝到apache\bin\目录下,重启服务器即可

[php]php做ActionScript的语法高亮

星期一, 10月 22nd, 2007

php使用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]处理同名复选框传递的数据

星期二, 9月 18th, 2007

phpPHP好像不能简单的接收HTML里使用同名复选框传递过来的数据,比如下面的form:

HTML Code:
  1. <form name="input" action="addInfo.php" method="get">
  2. I have a bike:
  3. <input type="checkbox" name="vehicle" value="Bike" checked="checked" />
  4. <br />
  5. I have a car:
  6. <input type="checkbox" name="vehicle" value="Car" />
  7. <br />
  8. I have an airplane:
  9. <input type="checkbox" name="vehicle" value="Airplane" />
  10. <br /><br />
  11. <input type="submit" value="Submit" />
  12. </form>

不管如何选择复选框,但在PHP服务器端只能接收到最后一个选中的框的内容,比较郁闷的。为此,修改下HTML代码:
(more…)