dedecms中实现文章正文内容添加广告
来源:互联网 发布:淘宝主图的要求 编辑:程序博客网 时间:2024/05/01 10:02
现在很多站长都通过往自己的网站中投放广告来维持网站的生存,传统的投放广告的方法是广告内容和文章的正文内容分离,通过样式表控制广告的漂移位置。那么有没有办法让广告内容混入正文内容,让他们看起来更像一个完整的内容呢,下文是如何在dedecms4中实现这个功能。
转载请注明出处: by 肥龙龙(expendable)
第一步:修改include/inc_downclass.php文件
增加函数function ADString($body,$adstr),其中$body为文章正文内容,$adstr为广告代码。函数代码如下:
//广告函数
function ADString($body,$adstr)
{
//最大间隔距离(如果在检测不到p标记的情况下,加入广告字串的最大间隔距离)
$maxpos = 1024;
$mdd = mt_rand(1,4);
//以后内容如果你不懂其含义,请不要改动
//---------------------------------------------------
$rndstyleValue = $rndstyle[$mdd]['value'];
$rndstyleName = $rndstyle[$mdd]['name'];
$reString = "<style> $rndstyleValue </style> ";
//读取字符串数据
$totalitem = 1;
$rndstring[1] = $adstr;
$start = 0;
$totalitem = 0;
$rnstr = "";
//处理增加广告字段
$bodylen = strlen($body) - 1;
$prepos = 0;
for($i=0;$i<=$bodylen;$i++){
if($i+2 >= $bodylen || $i<50) $reString .= $body[$i];
else{
@$ntag = strtolower($body[$i].$body[$i+1].$body[$i+2]);
if(($ntag=='</p' || ($ntag=='<br' && $i-$prepos>$maxpos)) && $rnstr=="" ){
$dd = mt_rand(1,$totalitem);
$rnstr = $rndstring[$dd];
$rnstr = " <div class='ad'>$rnstr</div> ";
$reString .= $rnstr.$body[$i];
$prepos = $i;
}
else $reString .= $body[$i];
}
}
unset($body);
return $reString;
}
function ADString($body,$adstr)
{
//最大间隔距离(如果在检测不到p标记的情况下,加入广告字串的最大间隔距离)
$maxpos = 1024;
$mdd = mt_rand(1,4);
//以后内容如果你不懂其含义,请不要改动
//---------------------------------------------------
$rndstyleValue = $rndstyle[$mdd]['value'];
$rndstyleName = $rndstyle[$mdd]['name'];
$reString = "<style> $rndstyleValue </style> ";
//读取字符串数据
$totalitem = 1;
$rndstring[1] = $adstr;
$start = 0;
$totalitem = 0;
$rnstr = "";
//处理增加广告字段
$bodylen = strlen($body) - 1;
$prepos = 0;
for($i=0;$i<=$bodylen;$i++){
if($i+2 >= $bodylen || $i<50) $reString .= $body[$i];
else{
@$ntag = strtolower($body[$i].$body[$i+1].$body[$i+2]);
if(($ntag=='</p' || ($ntag=='<br' && $i-$prepos>$maxpos)) && $rnstr=="" ){
$dd = mt_rand(1,$totalitem);
$rnstr = $rndstring[$dd];
$rnstr = " <div class='ad'>$rnstr</div> ";
$reString .= $rnstr.$body[$i];
$prepos = $i;
}
else $reString .= $body[$i];
}
}
unset($body);
return $reString;
}
代码没有经过优化,但是可以实现功能,图省事的自己拷贝。
第二步,修改文章模板article_article.htm,调用上面的函数
原始读入文章内容的代码为:
{dede:field name='body' /}
修改为:
{dede:field name='body' function='ADString(@me,"<script type=text/javascript src=http://pagead2.googlesyndication.com/pagead/show_ads.js></script>")'/}
其中<script src=...></script>的部分就是你的广告,请注意,这段代码中请不要使用任何引号,包括单引号和双引号,并且建议使用绝对地址。
第三步,控制广告的样式
第一部的代码中,通过定义块级元素<div class='ad'></div>来控制广告的样式和位置,请在文章模板中自行修改类选择器ad的样式,达到控制广告位置的目的,下面的代码为建议:
<style type="text/css">
<!--
.ad {...}{ float:left; padding:20px; padding-left:0;}
-->
</style>
<!--
.ad {...}{ float:left; padding:20px; padding-left:0;}
-->
</style>
转载请注明出处: by 肥龙龙(expendable)
祝您好运
- dedecms中实现文章正文内容添加广告
- dedecms列表页调用文章正文内容的方法
- dedecms 添加新内容
- dedeCMS添加栏目及内容
- 织梦DedeCMS列表页调用文章正文方法
- DEDECMS网站添加广告方法大全
- DEDECMS网站添加广告代码大全
- 文章正文
- 文章正文
- PreferenceActivity中添加广告
- drupal 中添加广告
- dedecms中添加自定义函数
- 织梦/DedeCMS v5.5首页栏目添加广告的方法
- 织梦DedeCMS 5.7添加Google广告无法显示的解决
- dedecms实现图集内容自定义分页
- dedecms实现图集内容自定义分页
- android 中添加 admob 广告
- Android中添加Admob广告
- MD5简介
- 内嵌式RealPlayer播放器的参数含义
- C#的委托
- 转]关于爱情19条黑色经典幽默
- GridView在编辑的时候控制编辑框的列宽。
- dedecms中实现文章正文内容添加广告
- 详细设计和概要设计的思考
- 如何实现为一个网卡绑定多个IP地址
- 什么是动态语言?
- struts多行数据提交解决方案二
- 每个.Net开发人员应该下载的十种必备工具
- 更改网络登陆用户的名称与密码
- Activex和javaScript结合使用
- A tiny C-like library(类C语言的库)