PHP中的正则
今天在构建自己的php模板引擎的过程中遇到了问题,就是将显示层的内容“翻译”成php语句。其实就是运用正则表达式进行替换,不过由于学习正则表达式不够系统,今天浪费我很长时间去了解。 php中的正则表达式有两种:一种是基于perl的正则表达式,另一种是基于POXIS的;目前主要使用的是基于perl的规范,其处理函数包括分割、匹配、查找、替换等分别对应preg_split()、preg_match()、preg_replace()等。其语法规则我这里不多写了,还在学习当中,没有形成系统。 下面讲讲正则在PHP或是在web开发当中的用途:第一,可以用在输入有效性检查,比如输入邮箱是否有效、IP地址是否合法。第二,模板引擎当中编译器对模板的“翻译”,比如在Smarty模板引擎当中,将{$name}“翻译”成<?php echo $name; ?>这样的语句。第三,在拟静态中的使用,我们知道,对于SEO的优化当中,搜索引擎中的爬虫在静态网页搜索能够保证运行正常,对于我们开发的PHP动态网站,如果要做到搜索引擎友好的效果就要拟静态,此时就需要写一些转换规则,对于apache服务器,要在文件".htaccess"中写转换规则如下: RewriteEngine on RewriteRule 正则匹配样式 正则匹配结构 写这么多,后面边学边写。明天要见导师,还是看看本专业的资料吧,希望明天有的交流。