自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 正则表达式中的?和?:

有时会看到.*?或者?:\w+的规则,一直不知道是什么意思。后来查了下,搞明白了。1.首先看下.*?举个例子吧还是,比如要去掉一篇文章中的所有script标签及内容。php代码如下:$rule = '#<script[^>]*>.*<\/script>#i';$str = "<script>var test = '测试';alert(test);</script>大难不死!英52岁夫妇海上漂浮7小时后获救</h1><p class='otitle'>你好</p><script>alert('测试一下

2016-09-12 11:27:20 408

原创 正则表达式学习(三)转义和反义

正则表达式的转义和反义,一字之差,概念却是完全不同的。1.转义转义就是使用正则表达式中的一些特殊字符引起歧义的时候,用“\”取消原本的特殊意思,比如如果想匹配*或者?,因为正则表达式里*和?都是元字符,有着特殊的意义,所以如果想匹配这两个字符,需要用\*,\?。又或者匹配常见的url网址,“.”本身有着其特殊的意义,所以这时也需要进行转义\.。那么是不是当出现特殊字符时,都需要进行转义呢?比如这个元字符出现在字符组里,例如[abc(*?{}],其中(,*,{}需要进行转义吗?答案是不需要,因为尽管

2016-09-12 11:02:45 1988

原创 正则表达式学习(二)字符组和分支

上篇讲了正则表达式的元字符和量词,对正则表达式也有了一个初步的了解。这篇学习下字符组和分支1.字符组字符组就是用[]来匹配任意一个字符,比如我们想找到包含字符a或u的单词。就可以通过字符组来写规则:#\b[a-z]*[au][a-z]*#i另外字符组里-表示范围,如果要匹配包含-的字符,[]里一定要对-进行转义,即[\-],那像(),{}在[]要不要进行转义呢,答案是不需要,因为在[]里(),{}只是作为普通字符。2.分支比如我们用c[au]t可以匹配cat或cut。那如果我们像匹配包含任意两个

2016-09-12 10:26:43 375

原创 正则表达式学习(一)认识正则表达式

正则表达式一直是我的弱项,平时项目里用到很多时候都是去网上查。所以趁项目完结系统的又重新学习了下。我们来看一个正则表达式:#<div\s+[^>]*>(.*?)<\/div>#i一个完整的正则表达式如上,有三部分组成:分隔符、表达式、修饰符①分隔符除了字母、数字、下划线、空白符以外的任何字符,比如/、#、~、%、@等。比较常用的就是/、#和~,但是为了避免与反斜线混淆,一般不用/。②表达式表达式就是我们所写的匹配规则,由一些特殊字符和非特殊字符组成的。表达式包括元字符、字符组、分支、环视等一

2016-09-12 08:50:19 452

原创 新闻数据分页查询的优化

关于分页的优化相信很多博客里都有描述,原理都是一样的。比如大多数举的例子:select * from t1 limit 10000,10;可以转换成select * from t1 where id>=(select id from t1 limit 10000,1) limit 10;id为主键,这样直接先查id,因为是索引覆盖的查询方式,所以很快。但是根据id有一个问题,如果你的主键id不是自增的,或者中间有很多数据被删除了,然后又插入了新的数据。这样自增的顺序可能会被打乱,再这样去查询会不会

2016-09-10 10:09:52 784

原创 mysql中int类型的宽度M解析

一直以来在MYSQL建表的时候都有一个困惑,那就是关于int类型。int(M)这个M代表什么?比如我定义一个文章的主键news_id为int(8)为什么要定义为8?如果我存储一个位数为10的数3445667788,发现实际也是可以存储的。于是查看mysql的手册,发现有这样一段话:M指示最大显示宽度。最大有效显示宽度是255。显示宽度与存储大小或类型包含的值的范围无关。

2016-09-10 09:36:18 2736 1

原创 php调用sphinx

1.sphinx重要的几个方法①setMatchMode ( int $mode )全文检索模式匹配$mode表示匹配模式, 有以下5种匹配模式Constant DescriptionSPH_MATCH_ALL 匹配所有查询关键字,比如你搜索"杭州钢材",那么实际搜索的是同时包含"杭州"和"钢材"两个关键字的文章SPH_MATCH_ANY 匹配任意一个查询关键字,比如你搜索"杭州钢材",那么实际搜索的是包含"杭州"或"钢材"关键字的文章SPH_MATCH_PHRASE 将查询看成一

2016-08-26 09:13:34 3757

原创 全文检索的实现方式

近段时间公司项目的需要,需要对新闻资讯进行全文检索。新闻资讯总的访问量是日pv1000万,这其中有点水分,有些是爬虫爬的。历史数据量大概是500万+,性能要求支持400个并发请求。页面加载速度需要在1.5秒内加载完毕。所以针对全文检索这块一开始考虑到使用sphinx或者lucence。最终选择了sphinx,一是它的配置相对来说简单,另外它的效率比较高。但是它对中文的分词支持不太好,google了下,基于sphinx的coreseek和sphinx for chinese在中文检索方面还是不错的。但是c

2016-08-25 16:19:15 4067

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除