常用的正则表达式


匹配中文字符的正则表达式: [\u4e00-\u9fa5]

匹配双字节字符(包括汉字在内):[^\x00-\xff]

匹配空行的正则表达式:\n[\s| ]*\r

匹配HTML标记的正则表达式:/< (.*)>.*< \/\1>|< (.*) \/>/

匹配首尾空格的正则表达式:(^\s*)|(\s*$) 阅读全文

AddThis Social Bookmark Button

Ryan 发表于 星期二, 五月/4/2010 | PHP | 1 条留言
标签:, ,


PHP错误:Maximum execution time of 30 seconds exceeded


execution time of 30 seconds exceeded
这是一个30秒运行超时的错误。

Fatal error: Maximum

出现这个错误如何解决 去哪里可以设置最大执行时间? 阅读全文

AddThis Social Bookmark Button

Ryan 发表于 星期一, 三月/15/2010 | PHP | 0 条留言


国内几款PHP内容管理系统介绍

PHPCMS http://www.phpcms.cn/

phpcms 2.0 由原9466article升级升级更名而来,是一个可以全站生成html的综合网站内容管理系统,能适应大中型网站的需求。

目前PHPCMS以新闻文章管理系统为主,同时有公告管理、友情链接管理、数据库管理、语言管理、风格模板管理、用户管理、JS文件管理等小的辅助功能模块。PHPCMS集多功能于一体让用户实现在线可视化管理网站,因此安装和使用PHPCMS无须专业知识。 阅读全文

AddThis Social Bookmark Button

Ryan 发表于 星期四, 十月/29/2009 | PHP | 0 条留言
标签:, ,


Apache php mysql在windows下的安装与配置图解

先准备好软件:
Apache官方下载地址:apache_2.0.55-win32-x86-no_ssl.msi更多版本在这里
php官方下载地址:php-5.0.5-Win32.zip更多镜像下载地址更多版本下载
mysql官方下载地址:mysql-4.1.14-win32.zip更多镜像下载地址更多版本下载
阅读全文

AddThis Social Bookmark Button

Ryan 发表于 星期六, 四月/18/2009 | PHP | 1 条留言
标签:, , ,


Sphinx全文检索引擎

sphinx-logo
Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。Sphinx特别为一些脚本语言设计搜索API接口,如PHP,Python,Perl,Ruby等,同时为MySQL也设计了一个存储引擎插件。

Sphinx单一索引最大可包含1亿条记录,在1千万条记录情况下的查询速度为0.x秒(毫秒级)。Sphinx创建索引的速度为:创建100万条记录的索引只需 3~4分钟,创建1000万条记录的索引可以在50分钟内完成,而只包含最新10万条记录的增量索引,重建一次只需几十秒。
sphinx-info

Sphinx的主要特性包括:
高速索引 (在新款CPU上,近10 MB/秒);
高速搜索 (2-4G的文本量中平均查询速度不到0.1秒);
高可用性 (单CPU上最大可支持100 GB的文本,100M文档);
提供良好的相关性排名;
支持分布式搜索;
提供文档摘要生成;
提供从MySQL内部的插件式存储引擎上搜索;
支持布尔,短语, 和近义词查询;
支持每个文档多个全文检索域(默认最大32个);
支持每个文档多属性;
支持断词;
支持单字节编码与UTF-8编码;

官方网址:http://www.sphinxsearch.com/
Sphinx速成指南:http://www.sphinxsearch.com/wiki/doku.php?id=sphinx_chinese_tutorial

AddThis Social Bookmark Button

Ryan 发表于 星期六, 四月/11/2009 | PHP | 0 条留言
标签:,


PHP安全设置:Register Globals参数

php
register_globals参数在PHP的4.2.0及以上版本中默认为屏蔽。虽然这并不认为是一个安全漏洞,但是的确是一个安全风险。因此,应该始终在开发过程中屏蔽register_globals

为什么这是一个安全风险?每一种情形都需要的单独说明才能描述清楚,对于所有情形只给出一个恰当的例子是非常困难的。不管怎样,最常见的例子是在PHP手册中描述的:

  1. if(authenticated_user()){
  2.  $authorized = true;
  3. }
  4. if($authorized){
  5.  include '/highly/sensitive/data.php';
  6. }

当参数register_globals开启的时候,这个页面可以使用?authorized=1的参数访问,从而绕过访问控制。当然,这个明显的漏洞是糟糕的开发造成的,而不是register_globals的原因,但是这明显增加了产生危险漏洞的可能。消除了这个影响,普通的全局变量(比如本例中的$authorized)将不再受到客户端提交的数据的影响。最好的方式是初始化全部变量并且将参数error_reporting设置为E_ALL,这样使用未初始化的变量就不会在开发的时候被忽略。 阅读全文

AddThis Social Bookmark Button

Ryan 发表于 星期六, 四月/11/2009 | PHP | 2 条留言
标签:,


PHP函数:header() – 标头

php
标头(header)是服务器以 HTTP 协义传 HTML 资料到浏览器前所送出的字串,在标头与 HTML 文件之间尚需空一行分隔。有关HTTP 的详细说明,可以参 RFC 2068 官方文件(http://www.w3.org/Protocols/rfc2068/rfc2068)。在 PHP 中送回HTML 资料前,需先
传完所有的标头。

注意: 传统的标头一定包含下面三种标头之一,并只能出现一次。
阅读全文

AddThis Social Bookmark Button

Ryan 发表于 星期三, 三月/18/2009 | PHP | 0 条留言
标签:,


PHP函数:constant() – 可变变量

php
在PHP手册里是这样解析的:

//返回一个常量的值
mixed constant(string $name)

constant()是一个非常有用的函数。当你想获得一个常量的值,即又不知道该常量的名字的时候,比如这个常量的名字保存在一个变量中,或者该变量名是被一个函数返回的。

PHP手册里的例子是这样的:

  1. < ?php
  2.  define(MAXSIZE”, 100);
  3.  
  4.  echo MAXSIZE;
  5.  //same thing as the previous line
  6.  echo constant(MAXSIZE);
  7. ?>

都怪这个例子不好,没有很好的说明constant()的用途,我曾经也对这个函数感到莫名其妙,有一天无意间看到某个系统的代码(不记得是哪个了),才知道constant()是怎么用的。
阅读全文

AddThis Social Bookmark Button

Ryan 发表于 星期三, 三月/18/2009 | PHP | 0 条留言


PHP函数:explode() – 切开字符串

php
explode() – 切开字符串

语法 : array explode (string separator, string string [, int limit])
说明 : 传回一个字符串的数组,以参数 separator为界线将参数 string切开,如果有设定参数 limit,则传回的数组最多将会包含 limit个元素,而最后一个元素将会包含 string全部剩余的部份。

Example:

  1. < ?php 
  2.  $pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
  3.  $pieces = explode(" ", $pizza);
  4.  echo $pizza;
  5.  
  6.  //print_r()用于输出字符串
  7.  print_r($pieces );
  8. ?>

注意:在被切字符串中分隔符是什么,在explode()中就要用相应的符号。如上面代码$pizza中用是“ ”在explode (” “, $pizza)就要用“ ”,再如下面的代码,在$a中用的是“.” 则explode (“.”, $a)用的也是“.”

  1. < ?php 
  2.  $a = "piece1.piece2.piece3.piece4.piece5.piece6";
  3.  $b = explode(".", $a);
  4.  echo "$a<br>";
  5.  print_r($b);  
  6. ?>

阅读全文

AddThis Social Bookmark Button

Ryan 发表于 星期三, 三月/18/2009 | PHP | 0 条留言
标签:, ,


php安装配置:CURL的支持

php

window下安装php_curl支持

1.找到php.ini,修改extension=php_curl.dll 把前面的分号去掉。

2.把php_curl.dll、libeay32.dll、ssleay32.dll  复制到 %windir%/system32下,重启php的服务。

linux下安装php_curl支持
如果php已经在系统编译好,后来又需要添加新的扩展。一种方式就是重新完全编译php,另一种方式就是单独编译扩展库,以extension的形式扩展。下面以安装curl扩展为例:

1、下载curl安装包。(我的php是4.4.4的,下载最新的curl 7.16 不能使用,最后下载7.14的才可以,所以要注意一下版本问题)

  1. ./configure
  2. make

php要求curl的目录要有include和lib目录,并且include下要有easy.h 和curl.h两个文件,lib下要有libcurl.a。经编译后include下的文件有了,但是lib目录下没有。原来生成到lib/.libs目录下,所以要copy到lib目录

2、进入安装原php的源码目录

  1. cd ext
  2. cd curl
  3. phpize
  4. ./configure --with-curl=DIR
  5. make

就会在PHPDIR/ext/curl/moudles/下生成curl.so的文件。

3、复制curl.so文件到extensions的配置目录,修改php.ini就好了 。

AddThis Social Bookmark Button

Ryan 发表于 星期一, 三月/9/2009 | PHP | 0 条留言


PHP常用字符Strings函数集

php

字符串转换类函数

addcslashes函数:以C语言风格使用反斜线转义字符串中的字符
addslashes函数:使用反斜线引用字符串
chop函数:清除字符串中的连续空格
get_html_translation_table函数:返回htmlspecialchars()函数和htmlentities()函数的转换表
chunk_split函数:将字符串分割成小块
hebrev函数:转换希伯来逻辑字符为可见字符
hebrevc函数:转换希伯来语文本为可见文本,包括换行符
html_entity_decode函数:转换HTML字符编码为字符
htmlentities函数:转换字符为HTML字符编码
htmlspecialchars_decode函数:转换特殊HTML字符编码为字符
htmlspecialchars函数:转换特殊字符为HTML字符编码
nl2br函数:将换行字符转换成“<br>”
quotemeta函数:加入引用符
rtrim函数:清除字符串末尾的空白(或其他字符)
strip_tags函数:清除HTML及PHP的标记
stripcslashes函数:将用addslashes()函数处理后的字符串原样返回
stripslashes函数:清除字符串中的反斜线
strtolower函数:将字符串中的字母全部转换为小写
strtoupper函数:将字符串中的字母全部转换为大写
trim函数:截取字符串首尾的空格(或其他字符) 阅读全文

AddThis Social Bookmark Button

Ryan 发表于 星期三, 三月/4/2009 | PHP | 0 条留言
标签:,


PHP中的AJAX中文乱码解决

php
  AJAX传送和接收中文参数时,如果不在客户端和服务器做相应的处理就会出现乱码问题,在网上相应的文章也不少,但是有的情况下很难从中找到符合自己理想的答案,我今天就是在网上找了很多,但是都差不多,讲ASP和JSP的比较多(我是用的PHP),所以到最后都没找到自己满意的答案。

  众所周知,使用AJAX的中文乱码可以大概分为两中,第一种是向服务器端发送中文参数时(xmlhttp.open(“get|post”,url,true)),服务器端接收到的为乱码,这个也是我今天遇到的问题,没做处理之前,在IE里是正常的,但是在Firefox里面就出现了乱码,我先把接收到参数输出到一个文本里,没有发现什么问题,郁闷了,然后我就把查询语句在输出来观察(我这里是要从数据库里查出与参数相关的东西),终于发现问题,IE和Firefox输出的参数不一样,虽然汉字上都一样,但是和前后连接上有细小的区别,于是认定了是编码问题,在网上查找了相关资料,都没能解决问题,但是得到一些启示,因为AJAX发送数据都是采用UTF-8编码的方式发送的,所以要在服务器端进行编码转换(我这里页面是采用GB2312编码的,如果是采用UTF-8的话应该不会有这步的问题),所以我在服务器端进行了UTF-8转GB2312。 阅读全文

AddThis Social Bookmark Button

Ryan 发表于 星期四, 二月/26/2009 | PHP | 2 条留言
标签:,


DedeCMS应用:日期时间格式(利用strftime()函数格式化时间)

首页:
([field:pubdate function='strftime("%m-%d",@me)'/])==(5-15)
([field:pubdate function='strftime("%b %d, %Y",@me)'/])==(May 15, 2008)

阅读全文
AddThis Social Bookmark Button

Ryan 发表于 星期二, 十月/21/2008 | PHP | 0 条留言
标签:, ,


PHP简单的购物车

在网络中查找的PHP版的购物车代码,将具体的购物信息放在SESSION中进行CRUD处理,测试通过,比较实用。

阅读全文
AddThis Social Bookmark Button

Ryan 发表于 星期六, 十月/4/2008 | PHP | 2 条留言
标签:,