全屏透明遮罩层(兼容所有浏览器)

现在全屏的半透明遮罩层在web2.0网站应用非常广泛了,绝大多数遮罩是通过计算页面大小,然后覆盖一个与页面同等大小的层实现,如腾讯qzone, wordpress后台。这种方式本来无可非议,但是在页面很长的时候在IE8下会失效(国外资料的解释是与机器显卡相关),有些完美情节的同学遇到这个问题后就抓破了头,无奈之下甚至想让IE8强制使用IE7的方式解析他的作品。其实我们有一个更好的方法,咱们用CSS去解决它! 继续阅读

sphinx mysql innodb 联表数据源配置

数据源是MyISAM一般情况下不会有什么问题,数据量不是超大的情况下速度很快。现在的情况是我把所有数据表改成了InnoDB,有一个数据源建立索引的速度慢了100倍,数据源是一个联表的结果,60W联5W。

建立索引的时候iostat查看io状态%util一栏始终是100,增加innodb_buffer_pool_size也没有用,一共没多少内存,这个值改多大也是杯水车薪。 继续阅读

vi 字符串替换

vi/vim 中可以使用 :s 命令来替换字符串。

:s/vivian/sky/ 替换当前行第一个 vivian 为 sky
:s/vivian/sky/g 替换当前行所有 vivian 为 sky

n 为数字,若 n 为 .,表示从当前行开始到最后一行
:n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky
:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky

:%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky
:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky

可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符,也可以使用\转义/
:s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/
:s/vivian\//sky\// 替换当前行第一个 vivian/ 为 sky/
:%s+/oradata/apras/+/user01/apras1+ (使用+ 来 替换 / ): /oradata/apras/替换成/user01/apras1/

去除wordpress more标签锚点

点击more标记链接进入文章与点击文章标题进入文章时,链接地址后面会多了个类似于“#more-123”的字符串,之所以会跳转就是因为这几个字符。那要让它不跳转就简单了,只要把这几个字符给替换成空或不存在的不就得了?

代码如下:

function remove_more_jump_link($link) {
    return preg_replace('/#more-\d+/i','',$link);
}
add_filter('the_content_more_link', 'remove_more_jump_link');

这段代码的意思就是把类似于”#more-123″的字体串过滤掉。把这段代码加入你主题目录下的function.php文件中,保存即可。