之前看到有些網站的廣告輸出很特別,就是在文中顯示廣告,我説的不是上下、左右角之類的顯示方法。要看效果,大家可以看 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> 不存在或者廣告隱藏了就直接輸出原文章,否則輸出文章前段+廣告+文章後半部分。大家也可以用判斷字符串的數量來顯示廣告。