摘要: 替换使用 | 字符来允许在两个或多个替换选项之间进行选择。例如,可以扩展章节标题正则表达式,以返回比章标题范围更广的匹配项。但是,这并不象您可能认为的那样简单。替换匹配 | 字符任一侧最大的表达式。示例您可能认为,下面的表达式匹配出现在行首和行尾、后面跟一个或两个数字的 Chapter 或 Section:/^Chapter|Section [1-9][0-9]{0,1}$/很遗憾,上面的正则表达式要么匹配行首的单词 Chapter,要么匹配行尾的单词 Section 及跟在其后的任何数字。如果输入字符串是 Chapter 22,那么上面的表达式只匹配单词 Chapter。如果输入字符串是 S 阅读全文
posted @ 2013-12-31 10:00 Otgs 阅读(1279) 评论(0) 推荐(0) 编辑
摘要: 定位点工作方式定位点提供该能力。定位点使您能够将正则表达式固定到行首或行尾。它们还使您能够创建这样的正则表达式,这些正则表达式出现在一个单词内、在一个单词的开头或者一个单词的结尾。下表包含正则表达式定位点以及它们的含义的列表:字符说明^匹配输入字符串开始的位置。如果设置了 RegExp 对象的 Multiline 属性,^ 还会与 \n 或 \r 之后的位置匹配。$匹配输入字符串结尾的位置。如果设置了 RegExp 对象的 Multiline 属性,$ 还会与 \n 或 \r 之前的位置匹配。\b匹配一个字边界,即字与空格间的位置。\B非字边界匹配。不能将限定符与定位点一起使用。由于在紧靠换行 阅读全文
posted @ 2013-12-31 09:59 Otgs 阅读(861) 评论(0) 推荐(0) 编辑
摘要: 正则表达式从左到右进行计算,并遵循优先级顺序,这与算术表达式非常类似。运算符下表从最高到最低说明了各种正则表达式运算符的优先级顺序:运算符说明\转义符(), (?:), (?=), []括号和中括号*, +, ?, {n}, {n,}, {n,m}限定符^, $, \任何元字符、任何字符定位点和序列|替换字符具有高于替换运算符的优先级,使得“m|food”匹配“m”或“food”。若要匹配“mood”或“food”,请使用括号创建子表达式,从而产生“(m|f)ood”。 阅读全文
posted @ 2013-12-31 09:56 Otgs 阅读(709) 评论(0) 推荐(0) 编辑
摘要: 正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”)。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式示例表达式匹配/^\s*$/匹配空行。/\d{2}-\d{5}/验证由两位数字、一个连字符再加 5 位数字组成的 ID 号。/]*)?>[\s\S]*/匹配 HTML 标记。下表包含了元字符的完整列表以及它们在正则表达式上下文中的行为:字符说明\将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,“n”匹配字符“n”。“\n”匹配换行符。序列“\\”匹配“\”,“\(”匹配“(”。^匹配输入字符串开始的位置。如果设置了 Re 阅读全文
posted @ 2013-12-31 09:55 Otgs 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 自主实现Session功能的类,基于文件方式存储Session数据,测试基本通过,还比较好玩,实际应用没有意义,只不过是学习Session是如何实现的。一般基于文件存储Session数据效率不是很高,毕竟跟磁盘IO是有关系的,如 果需要多台服务器共享数据,可以考虑使用NFS来存储数据,如果需要比较快的速度,可以考虑使用共享内存(shm)来保存数据,直接把Session数据 存储路径指定为/dev/shm,这样磁盘IO会提高不少,不过shm空间比较小,一般Linux下是60多M,所以不可能保存太多数据。//=======================================// 程序: 阅读全文
posted @ 2013-12-30 13:27 Otgs 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 自主实现Session功能的类,基于文件方式存储Session数据,测试基本通过,还比较好玩,实际应用没有意义,只不过是学习Session是如何实现的。使用基于文件的Session存取瓶颈可能都是在磁盘IO操作上,所以对付小数据 量的Session没有问题,但是如果碰到大数据量的Sesstion,那么可能无法胜任,现在利用Memcache来保存Session数据,直接通过 内存的方式,效率自然能够提高不少,并且如果结合PHP的Memcache扩展,能够支持分布式的Memcache服务器,那么这个性能就能够提到更高, 负载更多更复杂的应用。说明:以下代码基于Memcache来保存Session数 阅读全文
posted @ 2013-12-30 13:25 Otgs 阅读(426) 评论(0) 推荐(0) 编辑
摘要: PHP实现多web服务器共享SESSION数据(session数据写入mysql数据库) 一、问题起源 稍大一些的网站,通常都会有好几个服务器,每个服务器运行着不同功能的模块,使用不同的二级域名,而一个整体性强的网站,用户系统是统一的,即 一套用户名、密码在整个网站的各个模块中都是可以登录使用的。各个服务器共享用户数据是比较容易实现的,只需要在后端放个数据库服务器,各个服务器通过统 一接口对用户数据进行访问即可。但还存在一个问题,就是用户在这个服务器登录之后,进入另一个服务器的别的模块时,仍然需要重新登录,这就是一次登录,全 部通行的问题,映射到技术上,其实就是各个服务器之间如何实现共享 .. 阅读全文
posted @ 2013-12-30 13:17 Otgs 阅读(496) 评论(0) 推荐(0) 编辑
摘要: 在Windows上PHP默认的Session服务端文件存放在C:\WINDOWS\Temp下,如果说并发访问很大或者 session建立太多,目录下就会存在大量类似sess_xxxxxx的session文件,同一个目录下文件数过多会导致性能下降,并且可能导致受到 攻击最终出现文件系统错误。针对这样的情况,PHP本身体提供了比较好的解决办法。打开 php.ini ,查找Session设置部分中以下一项: session.save_path = “N;/path” session.save_path = “C:\Temp” #此处以你自己设定的路径为准这项设置提供给我们可以给session... 阅读全文
posted @ 2013-12-30 11:20 Otgs 阅读(2384) 评论(0) 推荐(0) 编辑
摘要: 1. MySQL 获得当前时间戳函数:current_timestamp, current_timestamp()mysql> select current_timestamp,current_timestamp();+---------------------+---------------------+| current_timestamp | current_timestamp() |+---------------------+---------------------+| 2008-08-09 23:22:24 | 2008-08-09 23:22:24 |+--------- 阅读全文
posted @ 2013-12-27 10:17 Otgs 阅读(1233) 评论(0) 推荐(0) 编辑
摘要: 今天编写数据库备份类时,在运行的过程中,出现了内存不足的问题,提示:Fatal error: Allowed memory size of 25165824 bytes exhausted (tried to allocate 24904250 bytes),然后上网搜索下,网上给了几种方法。 对于主机提示内存不足的解决办法 一、修改php.ini(保举) memory_limit = 12M 2、在程序里面添加如下语句 ini_set(''memory_limit'', ''12M''); 3、在根目录建立 .htaccess文 阅读全文
posted @ 2013-12-25 15:09 Otgs 阅读(469) 评论(0) 推荐(0) 编辑