php写的仿爱帮网电话号码字符串处理(防采集)。

  前几天qq群里面有一个朋友要做一个电话防采集功能。常见的如 赶集网是把电话号码写在了图片上(暂时想不出好的办法而且估计服务器也负担大)。他说了爱帮网就是在电话号码里加随机乱码(例如 http://www.aibang.com/detail/285818146-420076936)增加采集的难度。

爱帮网页面里

在火狐firebug里查看 源码 发现很多 隐藏的随机乱码。如果采集的话不处理肯定会采集到随机乱码,增加采集的难度。

他们把每2个数字写到一个span标签里。

  我看了一下爱帮网的处理于是我想起了时光网的电影剧情 也是采用类似的方法在 电影剧情里添加随机汉字。采集它的剧情让我花了差不多一个礼拜。于是反推一下想到了一个思路 。那些显示的数字的class 肯定是display ='block';而那些隐藏的 数字的class肯定是 display='none'。

爱帮网肯定有 这样2种样式随机从里面取出再重组于是就成了我们看到的那样了。

当然爱帮网也是 如此。

好了可以开工了。以下代码。我无耻的山寨了一下。

css文件。style.css

@charset "utf-8";
.m_0, .m_1, .m_2, .m_4, .m_5, .m_7, .m_9, .m_14, .m_16, .m_20, .m_21, .m_22, .m_23, .m_28, .m_29, .m_31, .m_32, .m_33, .m_34, .m_35, .m_37, .m_38, .m_39, .m_42, .m_44, .m_45, .m_47, .m_48 {
display: inline !important;
}
.m_3, .m_6, .m_8, .m_10, .m_11, .m_12, .m_13, .m_15, .m_17, .m_18, .m_19, .m_24, .m_25, .m_26, .m_27, .m_30, .m_36, .m_40, .m_41, .m_43, .m_46, .m_49 {
display: none !important;
}
.m_0, .m_1, .m_2, .m_3, .m_8, .m_9, .m_10, .m_16, .m_19, .m_20, .m_22, .m_33, .m_34, .m_37, .m_38, .m_40, .m_44, .m_45, .m_46, .m_48 {
display: inline !important;
}
.m_4, .m_5, .m_6, .m_7, .m_11, .m_12, .m_13, .m_14, .m_15, .m_17, .m_18, .m_21, .m_23, .m_24, .m_25, .m_26, .m_27, .m_28, .m_29, .m_30, .m_31, .m_32, .m_35, .m_36, .m_39, .m_41, .m_42, .m_43, .m_47, .m_49 {
display: none !important;
}

 

php文件。

<?php
/**
* @author: keygle
* @date : 2012-05-28 13:52:23Z
* @desc : DealString
* 说明山寨苏demo的 仿爱帮网电话号码字符串处理代码
*/
header("Content-Type:text/html;charset=utf-8");
class Randstyle 
{
/**
* function Dealsting
* 处理字符串
*/
public function Dealstring($string)
{
if(empty($string)){ return false; }
$telString = '';

//样式数组。
$show = array('m_0', 'm_1', 'm_2', 'm_3', 'm_8', 'm_9', 'm_10', 'm_16', 'm_19', 'm_20', 'm_22', 'm_33', 'm_34', 'm_37', 'm_38', 'm_40', 'm_44', 'm_45', 'm_46', 'm_48');
$hide = array('m_4', 'm_5', 'm_6', 'm_7', 'm_11', 'm_12', 'm_13', 'm_14', 'm_15', 'm_17', 'm_18', 'm_21', 'm_23', 'm_24', 'm_25', 'm_26', 'm_27', 'm_28', 'm_29', 'm_30', 'm_31', 'm_32', 'm_35', 'm_36', 'm_39', 'm_41', 'm_42', 'm_43', 'm_47', 'm_49');
for($i=0;$i<strlen($string);$i++){

//随机获得0或1。
$flag = mt_rand(0,1);
if($flag){
$showStyle = array_rand($show);
$telString .="<span class='".$show[$showStyle]."'>".$string[$i]."</span>";
}else{
$hideStyle = array_rand($hide);
$telString .="<span class='".$hide[$hideStyle]."'>".mt_rand(0,1000)."</span>";
$i--;
}
}
return $telString;

}

}

$deal = new Randstyle();
$data = $deal->Dealstring('1370170170');
?>
<html>
<head>
<title>随机字符串样式</title>
<link type="text/css" rel="stylesheet" href="style.css"/>
</head>
<body>
<?php
echo '手机号码:1370170170';
echo '<br/>';
echo '处理后的手机号码显示为:';
echo $data;    
?>
</body>
</html>

效果如下。

firebug 下的效果。

ok 好了。转载请注明出处。。。。keygle

转载于:https://www.cnblogs.com/keygle/archive/2012/06/03/php.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值