• 2005-12-23

    基本知识

    echo "$";//得到$ 
    echo"\";//得到 
    但是用单引号就不需要转义 
    2,$_SERVER["QUERY_STRING"]和$_SERVER["REQUEST_URI"]在iis下不可用 
    3,如果php.ini中的session.use_trans_sid=1,那么你的网页链接中会出现PHPSESSID=xxx 
    4,如果数据没有传过来,你可以没有用响应的预定义变量来得到它.如php.ini中register_globals设为off了,那么得到POST方法穿过来的数据用$_POST["varname"],url等GET方法传过来的数据用$_GET["varname"],SESSIION变量用$_SESSION["varname"],COOKIE变量用$_COOKIE["varname"]. 
    5,4.23版本以后用session_register注册session变量会报错,请改用$_SESSION["varname"]="varValue";来注册变量varname 
    6,读取一个文件中的数据建议用fread,fopen,如果数据很少的时候才使用file,file_get_contents,fgets等等,否则效率会很低 
    7,用PERL风格的正则表达式比POSIX风格的正则表达式要快n倍,功能也强大n倍,所以建议多用perg_ 函数.比如用preg_match代替ereg/eregi,preg_replace代替str(i)_replace,ereg_replace,eregi_replace,preg_split代替explode,split(i) 
    8,用正则表达式或其它方法提取含中文的字符串时,有时会出现乱码,这是因为一个汉字视为两个字节,解决方案可以网上搜索 
    9,mysql的搜索中文字符串时有时会出错,可以用 binary (title) alike ('%keyword%') 解决,mysql也有一个正则表达式函数REGEXP. 
    10,用正则表达式搜索字符串时,这些特殊字符要转义+,*,-,$,^,,(,[,?,],),| 否则搜索这些字符时,会出现错误. 
    11,n多个字母或者字符在一起会把网页表格撑破,用css可以解决这个问题 
    1),固定表格 
     
    2),字符换行 
     12,做简繁转换时,可以用header("content-type=text/html;charset=gb2312");强制浏览器采用相应的编码,以免还要手工选择 13,可以用set_time_limit(60);来设定程序的最长运行时间,这里是60s,如果0,则表示不限制 

    by yunshen(2005年12月15日,10时54分

  • 2005-12-20

    grep

    grep小结,对于我来说,看了bbg的grep部分,发现以前简直什么都不知道,不知道以前TMD干什么去了。

    这里就是几个常用的参数其实,很简单的,如果注意了,man grep一下就很明了了,当然,里面搀杂了点正则表达式的部分,如果这个部分不懂,可以参考其他相关正则表达式的文章:)
    只是
    平时使用的时候想不到罢了,2 me 2.。
    大概就是:
    -c显示匹配总行数
    -i不区分大小写
    -n显示行数
    -w word完整匹配,这个可以配合下面的例子1:)
    -v选中不匹配的
    ‘xxx\<’,匹配包含以xxx为开头的单词的行
    ‘\>xxx’,匹配包含以xxx为结尾的单词的行
    ^x,匹配以x开头的行
    x$,匹配以x结束的行
    []这样的就不说啦,以前用的比较多。。


    例子1:-w使用示例:
    hahaghost@Phidias:~/bak/tmp$ cat test
    2.1
    1
    1.2
    11
    111
    1111
    11111
    hahaghost@Phidias:~/bak/tmp$ grep -w 1 test
    2.1
    1
    1.2
    hahaghost@Phidias:~/bak/tmp$ grep 1 test
    2.1
    1
    1.2
    11
    111
    1111
    11111

    关于“.”的应用,呵呵,其实这个也是正则表达式的问题了,只是不注意用到以前:),2 me:)
    hahaghost@Phidias:~/bak/tmp$ cat example
    This is the first line of an example text.
    It is a text with erors.
    Lots of erors.
    So much erors, all these erors are making me sick.
    This is a line not containing any errors.
    This is the last line.
    hahaghost@Phidias:~/bak/tmp$ grep ^So.*making example
    So much erors, all these erors are making me sick.
    hahaghost@Phidias:~/bak/tmp$ grep '^So.*sick.$' example
    So much erors, all these erors are making me sick.
    hahaghost@Phidias:~/bak/tmp$ sed -n '/^So.*sick.$/p' example
    So much erors, all these erors are making me sick.
    hahaghost@Phidias:~/bak/tmp$

    有了上面的几个例子,呵呵,一切就变的很简单了。相对于白痴的以前。
    以后?谁知道呢?!:)