日期:2011-07-12  浏览次数:20507 次

  之前看到有些网站的广告输出很特别,就是在文中显示广告,我说的不是上下、左右角之类的显示方法。要看效果,大家可以看BlueFate的博客文章中显示的广告。因为我不是搞程序的,不过还是了解一点php,所以研究了老半天才写出来一个在文中输出广告的代码:

  <?php
//输出文章内容,当有遇到第一个</p>的时候,显示广告
$form = 0;
$contents = get_the_content();
$lenght = stripos($contents,"</p>");//以</p>来分割字符窜,并以数字形式返回所在的位置
$lenght = $lenght + '4';//加上</p>站的字符数
$contents1 = substr($contents,$form,$lenght);//截取文章
$contents2 = substr($contents,$lenght);
if (get_option('swt_adt') == 'Hide' || strlen($contents)<=$lenght || $lenght < 20) { //输出广告
the_content('');
}
else {
echo $contents1;//输出内容的前半部分
include(TEMPLATEPATH . '/includes/adwz.php');
echo $contents2;//输出内容的后半部分
}
?>

  保存以上的代码为contents.php,路径在模板的文件夹includes/contents.php,在文章页single.php输出文章的时候用替换原来的 < ?php the_content(''); ? >。这里对代码稍作解释,首先用get_the_content()函数获取到文章内容,然用stripos()函数返回指定字符串"</p>"的位置,接着再用substr()函数将内容截取为两部分;最后通过判断来显示广告,如果标签</p>不存在或者广告隐藏了就直接输出原文章,否则输出文章前段+广告+文章后半部分。大家也可以用判断字符串的数量来显示广告。好了,如有不懂可以联系我。或者有好的方法,也请大家分享一下,本文由BlueFate(http://www.bluefate.org/201205083039.html)原创,欢迎转载,谢谢