“最难不过坚持”
本人承接扒站仿站,php网站维护,病毒查杀,网站编辑,网站改版,html制作
有需要网站维护,改版,病毒查杀,网站编辑,网站备案,html制作等相关的工作可以联系我。
本人有多年相关工作经验,也可提供免费咨询,交个朋友。
有需要探讨问题的朋友,也可以加我微信,共同探讨!
微信:15011482830 QQ:408917339
- https://jueru.net/
-
- :weixiao:
-
- :shuijiao: :weiqu: :zhenbang: :leng:
-
- :yiwen: :yiwen: :yiwen: :yiwen:
-
- 这个业务逻辑多少都有点奇怪了,阅读浏览次数增值在新闻详情页的控制器方法里setInc,这怎么还写进模型事件里了。如果非要用onAfterRead也可以,把新闻文章的内容单独分出来一个news_content表,然后把它和news做关联,然后给news_content表的onAfterRead事件做增值处理,这样点进新闻页内查询到文章内容时才会触发它。
-
比如在web编程应用的时候,常常需要检查一个字符串是否"合法", 这样的例子,如手机号码必须是由数字组成,Email的格式是否正确,用户输入的密码是否由英文和数字组成等等。如果要实现这样的验证功能,有时候会对每一个字符都进行检查,或者将每个字符和分隔符全部写出组成一个正则表达式,显然不是一个好办法,因为对每个字符进行遍历,不仅耗时耗力,而且效率也比较低下。所以PHP提供了一种比较方便的定义一个字符集合的办法,这种集合,一般就称为字符簇,一般是用方括号[ ]把字符簇括起来。这样我就可以比较方便的进行正则表达式的应用和过滤了
2、常用字符簇对应的含义
[[:alpha:]]
任何字母
[[:digit:]]
任何数字
[[:alnum:]]
任何字母和数字
[[:space:]]
任何空白字符
[[:upper:]]
任何大写字母
[[:lower:]]
任何小写字母
[[:punct:]]
任何标点符号
[[:xdigit:]]
任何16进制的数字,相当于[0-9a-fA-F]
[[:cntrl:]]
任何ASCII值小于32的字符
[[:blank:]]
任何空格和TAB
[[:graph:]]
任何可打印字符
[[:print:]]
任何可打印字符和空格
[[:<:]]
匹配单词的开始
[[:>:]]
匹配单词的结尾
3、使用案例:
<?php function testPreg($text) { $text = preg_replace("/[^[:alpha:]]/u", "", $text); // 过滤 任何字母 // 返回字母 $text = preg_replace("/[^[:digit:]]/u", "", $text); // 过滤 任何数字 // 返回数字,以下等同 $text = preg_replace("/[^[:alnum:]]/u", "", $text); // 过滤 任何字母和数字 $text = preg_replace("/[^[:space:]]/u", "", $text); // 过滤 任何空白字符 $text = preg_replace("/[^[:upper:]]/u", "", $text); // 过滤 任何大写字母 $text = preg_replace("/[^[:lower:]]/u", "", $text); // 过滤 任何小写字母 $text = preg_replace("/[^[:punct:]]/u", "", $text); // 过滤 任何标点符号 $text = preg_replace("/[^[:xdigit:]]/u", "", $text); // 过滤 任何16进制的数字 $text = preg_replace("/[^[:cntrl:]]/u", "", $text); // 过滤 任何ASCII值小于32的字符 $text = preg_replace("/[^[:blank:]]/u", "", $text); // 过滤 任何空格和TAB $text = preg_replace("/[^[:graph:]]/u", "", $text); // 过滤 任何可打印字符 $text = preg_replace("/[^[:print:]]/u", "", $text); // 过滤 任何可打印字符和空格 return $text; // 返回正则过滤后的文本 } $text = "ajdkl&(&*13241ADdsfsd324"; echo $text . '<br>'; echo testPreg($text); ?>