PHP正则表达式速度入门续
继上一篇PHP正则表达式速度入门之后, 这里我个人再做一些补充.
1. 关于常用的一些元字符”*”、”+”以及”?”.
“*”表示其前导字符可以在要匹配的对象中出现零次或连续多次.
示例: 表达式为/foo*/,
匹配对象字符串为”foddddfooodsdasdsfooafdsdsfooooooooodsdadao”,进行匹配后可以得到匹配结果
fo、fooo、foo、fooooooooo

阅读全文…
继上一篇PHP正则表达式速度入门之后, 这里我个人再做一些补充.
1. 关于常用的一些元字符”*”、”+”以及”?”.
“*”表示其前导字符可以在要匹配的对象中出现零次或连续多次.
示例: 表达式为/foo*/,
匹配对象字符串为”foddddfooodsdasdsfooafdsdsfooooooooodsdadao”,进行匹配后可以得到匹配结果
fo、fooo、foo、fooooooooo

阅读全文…
My love will get you home
Christine Glass
If you wander off too far
My love will get you home
If you follow the wrong star
My love will get you home
If you ever find yourself
Lost and all alone
Get back on your feet and think of me
My love will get you home Boy
My love will get you home
If the bright lights blinds your eyes
My love will get you home
If your troubles break your stride
My love will get you home
If you ever find yourself
Lost and all alone
Get back on your feet and think of me
My love will get you home Boy
My love will get you home
If you ever feel ashame
My love will get you home
If its only you to blame
My love will get you home
If you ever find yourself
Lost and all alone
Get back on your feet and think of me
My love will get you home Boy
My love will get you home
If you ever find yourself
Lost and all alone
Get back on your feet and think of me
My love will get you home Boy
My love will get you home Boy
My love will get you home
晚上上phpchina下了最新的PHPer杂志, 看了其中的字符串专题之正则表达式集锦, 感觉入门写的非常不错, 摘录过来了.
本文摘自PHPer第15期, 作者李俊鹏
为了速度,直接从实例入手(这并不是一个完整处理方法, 纯粹是个实例):
/^[[:alnum:]][a-z0-9_\.]*@[a-z0-9]+\.[a-z]{2,4}$/i
1. 首先注意最后的两个字符: “/i” 表示该匹配不区分大小写, 而最开头的”/”表示内容, 同样的如果没有使用”/i”也可以使用”/”结束.
2.接着去掉”/i”得到
/^[[:alnum:]][a-z0-9_\.]*@[a-z0-9]+\.[a-z]{2,4}$
我们注意开头和结尾, 即”^”和”$”, “^”表示一个匹配的开始, “$”表示一个匹配的结束.
3. [[:alnum:]]匹配字母或数字, 而”\w”表示匹配大小写字母、数字以及下划线.
4. [a-z0-9_\.]*表示26个字母、10个数字、下划线以及句点出现任意次. 其中”*”表示前面的匹配出现任意次, 类似的有”+”表示出现至少一次, “?”表示出现至多一次.
5. “@”即表示此处匹配一个”@”.
6. [a-z0-9]+表示出现最少一次的字母或者数字.
7. “\.”表示此处匹配一个句点, 由于句点”.”表示匹配除unicode行终止符外任意单个字符,所以需要转义,类似的有”\{”、”\["、"\|"等. 比如c.t匹配cat、cet、cct等.
8. [a-z]{2,4}表示出现2-4次的字母, 类似的有{1}表示出现一次的匹配, {3,}表示出现至少3次的匹配. 第8点只有这三种格式.
入门结束.
自从因为工作需要转向C#.NET之后, PHP就被放在了一边,都快两年了.前一段尝试用PHP开发了闪图闪字网,发现自己的PHP水平已经远远的跟不上PHP的发展速度了,想想我最爱的PHP,决定重新拾起来,再好好的学习学习.
记录一些零星的代码,只为了自己备忘.
1. 关于magic quote, magic quote可以在php的配置文件中开启/关闭. magic quote开启后会自动转义输入的数据, 好处有两点, 第一是在进行数据库操作的时候自动转义. 第二对于初学者来说在一定程度上提高了安全性, 最明显的例子就是在一定程度上避免了SQL注入的安全隐患.
但是magic quote带来的问题也是很明显的, 第一是代码的可移植性,需要后来者不停的进行数据后续操作. 其次所有的数据都被转义的话就会带来性能问题,况且很多情况下我们并不需要进行转义. 所以magic quote在PHP6中已经被废弃.
对于代码移植来说, 下面的代码可以帮助你, 这是从网上查到的:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php if (get_magic_quotes_gpc()) { function stripslashes_deep($value) { $value = is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value); return $value; } $_GET = array_map('stripslashes_deep', $_GET); $_POST = array_map('stripslashes_deep', $_POST); $_COOKIE = array_map('stripslashes_deep', $_COOKIE); $_REQUEST = array_map('stripslashes_deep', $_REQUEST); } ?> |
Recent Comments