现在很多软件可以抓取网页上的email,然后用来发送大量的垃圾邮件,很烦人。
本文为大家介绍一个屏蔽机器人从你的网站搜取email的处理方法,感兴趣的朋友可以参考下。
<?php
function security_remove_emails($content) {
$pattern = '/([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4})/i';
$fix = preg_replace_callback($pattern,
"security_remove_emails_logic", $content);
return $fix;
}
function security_remove_emails_logic($result) {
return antispambot($result[1]);
}
add_filter( 'the_content', 'flex_remove_emails', 20 );
add_filter( 'widget_text', 'flex_remove_emails', 20 );
最好把以上内容放到类似functions.php这样的文件中,以后机器人再来搜集email地址,就会自动屏蔽了。
给大家一个简单的文本操作的类。
我以前写的,不过一直都没机会用了,文本不如数据库。数据是以行保存的,以\n结尾,注意你输入的数据必须以"\n"结尾的,这是几个最基本的类成员,文本的特别要注意效率问题,比如你要更新文件的2,3,4行,用:
for($i=2;$i<=4;$i++)$this->update($file,$i,$msg);不如这样的:
$data=$this->read($file);
for($i=2;$i<=4;$i++)$data[$i]=$msg;
$this->write($file,$data); 的
var $key="<?die;?>"; //数据保护
var $keylen; //数据保护长度
function text() //类的构造器
{
$this->keylen=strlen($this->lkeylen); //得到保护长度
}
function read($file) //读文件,返回一个数组
{
if(file_exists($file)):
$data=@file($file);
$data[0]=substr($data[0],$this->keylen);
return $a;
endif;
}
function write($file,$data=array()) //写文件,数据为一个数组
{
if($fp=fopen($file,"w")):
flock($fp,3);
fwrite($fp,$this->key);
foeach($data as $v)fwrite($fp,$v);
return true;
endif;
}
function add($file,$msg)
//向文件最后添加数据(不存在就先建立文件)
{
$a=$this->read($file); //这个不管文件存在不
$a[]=$msg;
return $this->write($file,$a);
}
function insert($file,$n,$msg) //向第$n前插入数据
{
if($a=$this->read($file)):
$a[$n]=$msg.$a[$n];
return true;
endif;
}
function updata($file,$n,$msg) //更新$n数据
{
if($a=$this->read($file)):
$a[$n]=$msg;
return true;
endif
}
function del($file,$n) //删除$n数据
{
return $this->updata($file,$n,"");
}
}
本文跟大家聊聊thinkphp3.0 模板中函数的使用,注意不是所有的变量都能使用函数。
先来看变量的来源:
1、从php分配的变量,使用assign分配
2、系统变量
3、路径替换变量
不能使用函数的变量
变量输出快捷标签
{@var}//输出Session变量 和{$Think.session.var}等效
{#var}//输出Cookie变量 和{$Think.cookie.var}等效
{&var}//输出配置参数 和{$Think.config.var}等效
{%var}//输出语言变量 和{$Think.lang.var}等效
{.var}//输出Get变量 和{$Think.get.var}等效
{^var}//输出POST变量 和{$Think.post.var}等效
{*var}//输出常量 和{$Think.const.var}等效
{@var1.var2}//输出$_SESSION['var1']['var2']
{#var1.var2}//输出$_COOKIE['var1']['var2']
转换成大写 {$title|strtoupper()}
模板变量的函数调用格式为:
{$varname|function1|function2=arg1,arg2,### }
说明:
{ 和 $ 符号之间不能有空格 ,后面参数的空格就没有问题 ###表示模板变量本身的参数位置 支持多个函数,函数之间支持空格 支持函数屏蔽功能,在配置文件中可以配置禁止使用的函数列表 支持变量缓存功能,重复变量字串不多次解析
使用例子: X