程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP實現的多彩標簽效果代碼分享

PHP實現的多彩標簽效果代碼分享

編輯:PHP綜合

目前,大家的博客左側通常加上一個漂亮的多彩標記,也想給自己的小站加一下這個小功能。

可惜已經再不再是使用WordPress的時候那麼方便了,使用WordPress的朋友們直接使用現成的插件,鼠標點點就可以加上這個炫彩的功能。小站程序是自個寫的,要加這麼一個功能還是得自己動手,就當學習吧!

首先,我分析了一下目前多彩標簽的主要表現形式,主要有兩點:顏色多樣,大小不一。這個是多彩標簽的特性,於是想到了PHP中的隨機函數rand。直接給大小,顏色用rand隨機取值就可以。

大小的隨機值容易搞定,直接生成後連接單位即可
復制代碼 代碼如下:
<?php
// 隨機大小實例
$m = rand(20,30);
echo '<span style="font-size:'.$m.'px">隨機大小</span>';
?>
生成顏色值稍微麻煩一些,因為顏色值是十六進制字符表現形式,而隨機函數rand不能直接生成 0 到 F 這麼用,最後直接用數組保存十六進制字符,然後隨機生成鼠標下標這樣也可以實現隨機顏色
復制代碼 代碼如下:
<?php
// 隨機顏色函數
// 直接返回隨機生成的色值
function getColor(){
        // 先用數組把十六進制字符保存在一個數組中
    $arr = array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');
 
        // 因為顏色色值長度是6位,所以循環6次
    for($i=0;$i<6;$i++){
                // 隨機生成0到15數字,然後當作數組下標取值即可
        $color .= $arr[rand(0,15)];
    }
 
        // 返回的時候,把#號加上
    return ‘#'.$color;
}
?>
隨機大小,隨機顏色搞定後剩下的都不是問題的問題了。直接取出所有標簽然後去重,然後遍歷數組生成HTML文本即可。

最後提點建議,畢竟PHP是服務器端,每次都rand會讓服務器鴨梨不小(那些特牛的機器可以忽略不計,畢竟目前用VPS的還是眾多)。我們可以在博客的標簽在發生變動的時候再生成即可,比如刪除,修改,增加文章產生新的標簽時候我們再去生成多彩標簽的HTML文本。最後這些生成的多彩簽HTML沒必要存進數據庫,直接保存在在一個文件裡,然後include即可。

目前,我的小站就是這麼實現的。有空,我再介紹JavaScript實現多彩標簽,原理也差不多一樣,只不過是JavaScript是客戶端行為,不用擔心服務器端的鴨梨,而且JavaScript交互性比較好,可以制作出具有動畫效果的雲標簽。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved