Monthly Archives: January 2016

php正则表达式中常用的模式修正符

模式修正符是用来扩展正则匹配的, 意思是可以开辟更多的匹配空间或者是修正一些匹配模式,在有的语言中的正则没有这个模式修正符,因为我最近正在学习php,所以本篇说的就是php中的环境。前面我们知道了,模式修正符是被用来修饰正则匹配模式的,也可以说扩展正则匹配,它是被用到定界符之外的,如果不和正则配合使用,就是普通的字母。 那就来看几个常见的模式修正符。 1. i 匹配大小写(不区分大小写) 比如我们要匹配一段话, 这段话里既有小写, 又有大写, 而我们模式里匹配的只有小写, 就可以通过加模式修正符i的方式让他同时匹配大小写。

Posted in php | Tagged , , | Leave a comment

php正则表达式之元字符

前面我们知道了,正则表达式是由定界符,原子,元字符,模式修正符组成的,原子是正则中的基本组成单位,它可以独立使用,元字符是用来修正原子的,今天就再来复习一下几个元字符的用法。比如* 我们前面说了,*的意思是在此之前的原子可以出现0次1次或者多次,如果想把它作为元字符使用\*转义掉就可以了。所以它的作用就不详细介绍了。继续下面的。 + 在此之前的原子可以出现一次或者多次, 意思是至少要出现一次。 ? 在此之前的原子可以出现0次或者1次。 {} 自定义在此之前原子的重复次数,可以是单数也可以是一个范围{x,n}至少几次,最大几次。 . 匹配除了换行外的任意字符。

Posted in php | Tagged , , | Leave a comment

php正则表达式入门

之前学python的时候看过python里的正则, 也就是re, 最近这段时间看php, 看到了正则, 也就把正则从新复习了一遍。 其实正则也可以说是一种编程语言, 它和asm一样, 可以嵌套到很多程序当中去, 进行删除,修改,替换。说到正则,首先应该想了, 什么是正则? 正则就是描述字符串排列模式的一种自定义的语法规则,它本身也是属于是一段字符串,要和函数配合使用。 正则是由定界符,原子,元字符,模式修正符组成的,除了数字,字母和\的任意其他字符都可以被用来当作定界符,定界符的作用就是定界开始和结束,在正则中可以单独使用的字符都可以被称为原子, 比如\s \d \t \r src img, 如果想要在原子中使用具有特殊意义的字符, 比如这个字符既属于元字符还想在原子中使用, 即可以把它使用\转义, 元字符是用来被修饰原子的, 比如匹配中的任意十进制数字, 就可以使用< \d>, 可以使用[]表示是一个原子表,比如匹配一定范围的内容[1234567],即代表匹配原子表中的任意一个数字, 如果不加中括号, 即代表匹配的是一个连贯的数字,还可以在原子表中的第一个字符前加^表示取反,可以使用-代表一个范围。现在php沿用的正则是与perl兼容的, 下面就来看几个例子。

Posted in php | Tagged , , | Leave a comment

htmlspecialchars和htmlentities的区别

htmlspecialchars会转义预定义的html字符,如 & > < ' " htmlentities会将所有的html字符转义成实体同时影响中文。 <?php echo htmlspecialchars($_GET['content']).'<br>'; echo '<br>'; echo htmlentities($_GET['content']); ?> <form action="" method="get"> Content:<input type="text" name="content"> </form>

Posted in php security | Tagged , , | Leave a comment

用多态思想实现一个资料搜集过程

人可以搜集资料, 机器也可以搜集资料, 共同方法都得启动搜集,进行搜集(搜集中),搜集完成,世界可以使用一个对象,这个对象出现后,可以进行对应的搜集工作。我要先从世界中创建一个搜集任务, 然后再去创建一个人或者一台机器,再然后把人或者机器加入到世界中的信息搜集过程。

Posted in php | Tagged , , , | Leave a comment

多态

class demo {     } 即是普通的类, 而抽象类是一种特殊的类, 接口又是一种特殊的抽象类。 (抽象类本身是一种特殊的类, 接口是特殊的抽象类。)

Posted in php | Tagged , , | Leave a comment

常见修饰符和魔术方法

final: 只能被用来修饰类和成员方法。 1. 被final修饰后的类不能被继承。 2. 被final修饰后的方法不能被重载。 <?php /** final 只能被用来修饰类和成员方法 被final修饰后的成员方法不能被重载, 类不能被继承. **/

Posted in php | Tagged , , , | Leave a comment

php oop三大特性-继承

在php OOP中使用继承主要是为了方便代码维护、扩展、增加代码利用效率的,使用extends关键字可以继承一个基类(父类),php中是单继承模式,即一个子类只可以同时有一个父类。使用private, public, var,protected,可以设置权限(对访问权限进行控制),子类权限只能比父类权限大。

Posted in php | Tagged , , , | Leave a comment

php OOP三大特性-封装性

我们在编程中使用封装主要是为了保护资源和方便维护的,比如网站数据库类中的dbuser,password属性, 如果不应用封装,默认就为public, 这样就造成了一个后果,任何人都可以在类外访问dbuser,password的属性值,这样就会容易造成严重的安全事故。 封装就是把类中成员属性结合到一起并尽可能隐藏细节,然后再根据需求提供对应的接口,在php中,可以使用修饰符(关键字)来对类中的成员或者属性进行封装。

Posted in php | Tagged , , , | Leave a comment

div+css实战,布局出自己的博客首页

假如我们要布局出一个网站首页,就拿我的blog来说,首先就应该对布局需求进行分析,本次的需求是仿自己的首页,所以第一步打开自己的网站首页。 打开首页后, 我们可以看到body背景颜色是灰白色的, 在body体里, 有一个div, div居中, 并且下移几个像素,div的背景颜色是白色的, 在div里 有一个header, 一个main, 一个footer, 在header中, 包括一个logo和menu, 在main中,是自增的内容区域, 和右边框, 所以main里要给两个边框一左一右, footer里定义尾信息, 那么好, 咱们开始。

Posted in div/css, Uncategorized | Tagged , , , , , | Leave a comment