PHP修改零基础教程
这是一个经常发生的问题:修改了一个PHP,只是改了一点点内容,可是它却不能再使用了。
到底问题出在哪里??本教程将一一解析。
一、工具的选择
1.文本编辑过程中不能丢失换行!
2.如果文件编码是UTF-8,慎用Windows自带的记事本。如果你一定要用,请准备一个BOM去除工具(hu60admin里有一个),修改完后记得去除BOM。如果想知道为什么,请搜索“php unicode签名”。用专业代码编辑器保存文件时记得选无BOM。
二、是否在PHP中
如果你要修改的代码包含在<? … ?>、<?php … ?>、<% … %>或者<script language="php">…</script>标签对内,那么它就在php中,否则就不在。如果代码不在PHP中,问题将变得非常简单,你可以随便修改、添加或删除任何内容,只要记得以下几点:
1.遵守WML/XHTML代码规范,不要写错了,否则部分浏览器会报XML解析错误。
2.不要随便增加php开始标记,特别是<?
<?xml version="1.0"?>
如果你直接在php文件中添加它,那么50%以上的服务器会报错(之所以不是全部,是因为很多服务器关闭了<? ?>短标记功能,只能用<?php ?>)。如果你确实需要添加一个<?,可以这样用:<?php echo '<?'; ?>xml version="1.0"?>
这样就避免了php把XML文件头误认为是一段php代码,从而造成500错误。
如果代码在PHP中,那么要注意的地方有很多,我会一一道来:
三、单引号和双引号
我想大家应该知道,在xhtml/wml中如果你想显示特殊符号<,就得转义为& lt ;
php中也是一样的。不过php的引号转义比xhtml/wml简单得多,只要在它们前面添加一个斜杠就可以了:\'和\"
1.怎样判断要修改的内容是在单引号还是在双引号内?
很多时候,php的代码都有迷惑性:
echo "项目:",$object,"<b r/>",$submit,':(目标位置)<b r/>测试人员'.$man."<b r/>";
试问:目标位置处于单引号还是双引号内?
如果你说:目标位置处于双引号内,因为开始和结束位置都是双引号。
那么看这个:
echo "a".'b'; //以双引号开始,单引号结束??
echo "c".$d; //结束位置没有引号??
它们错了吗?没有。
echo
"a" //这是一个包含在双引号内的字符串
. //点在php中用于连接两个字符串
'b' //这是一个包含在单引号内的字符串
, //echo的后面用逗号和点的效果是一样的(其他地方不是)
"<b r/>\n" //这又是一个包含在双引号内的字符串
; //echo语句(输出语句)结束
到这里,大家应该找到方法了吧,你只要从目标位置开始往前找,看到的第一个没有加斜杠的引号为所求。
四、单引号与双引号的不同
1.在单引号内,你可以直接输出任何内容,只要记得把内容中的\改成\\,'改成\'就可以了。
2.在双引号内,你可以直接使用',但是要把\改成\\,"改成\",$改成\$(输出链接等带引号的标签时特别要注意)
3.单引号和双引号内都可以直接换行
五、删除内容
记得,在删除内容的时候,不要不小心删除了引号。
这是一个零基础教程,它的目的仅仅是为了让只对XHTML/WML有所了解的人能够简单地修改PHP中的文字。更深入的内容,我们不去探讨。<
全文完>
附:hu60admin编辑器的分段编辑有一些缺陷,所以你不能重复提交同一页。如果你提交之后还想继续编辑同一段,你必须后退并重新载入那一段(比如重新点上一个“下一段”,重新“打开”)。如果你不幸重复提交,内容会重叠、混乱。如果你不能更新这种重叠,你可以立即使用自动产生的.bak文件来替换原文件来恢复,并清除缓存。
另外,对于mrp手机浏览器,hu60admin仅能良好地支持UC.mrp,请不要使用QQ浏览器.mrp和冒泡浏览器.mrp,因为前者丢换行,后者丢美元符$。谨慎使用MTK手机自带浏览器,因为它不支持编辑框内<转义。
另外,塞班的手机建议不要在<?php …这里面… ?>增加任何新行(用空格代替换行)。塞班特别的换行符会导致php报错。
更正:“不能更新这种重叠”应为“不能更改这种重叠”。
重叠现象举例:
原内容:123456你好你好ABCDEF
重叠后:123456你好56你好你好ABCDEF
你需要把多出的部分删除。
<?xml....?>
<!DOCTYPE...>
....
<head>
....
<meta.....>
到PHP文件中去,Q浏还是会超时接收数据?