PHP实现的多彩标签效果代码分享


Posted in PHP onAugust 21, 2014

目前,大家的博客左侧通常加上一个漂亮的多彩标记,也想给自己的小站加一下这个小功能。

可惜已经再不再是使用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交互性比较好,可以制作出具有动画效果的云标签。

PHP 相关文章推荐
PHP 判断常量,变量和函数是否存在
Apr 26 PHP
那些年一起学习的PHP(二)
Mar 21 PHP
在Win7 中为php扩展配置Xcache
Oct 08 PHP
ThinkPHP入口文件设置及相关注意事项分析
Dec 05 PHP
php5.4以下版本json不支持不转义内容中文的解决方法
Jan 13 PHP
PHP SPL标准库之数据结构堆(SplHeap)简单使用实例
May 12 PHP
PHP中的命名空间详细介绍
Jul 02 PHP
php生成图片验证码-附五种验证码
Aug 19 PHP
PHP+Mysql+jQuery查询和列表框选择操作实例讲解
Oct 22 PHP
PHP魔术方法之__call与__callStatic使用方法
Jul 23 PHP
PHP多进程编程之僵尸进程问题的理解
Oct 15 PHP
浅谈PHP匿名函数和闭包
Mar 08 PHP
又一个PHP实现的冒泡排序算法分享
Aug 21 #PHP
PHP中几个可以提高运行效率的代码写法、技巧分享
Aug 21 #PHP
个人写的PHP验证码生成类分享
Aug 21 #PHP
PHP中使用sleep造成mysql读取失败的案例和解决方法
Aug 21 #PHP
从零开始学YII2框架(六)高级应用程序模板
Aug 20 #PHP
ThinkPHP登录功能的实现方法
Aug 20 #PHP
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
Aug 20 #PHP
You might like
用缓存实现静态页面的测试
2006/12/06 PHP
编写php应用程序实现摘要式身份验证的方法详解
2013/06/08 PHP
PHP中使用socket方式GET、POST数据实例
2015/04/02 PHP
Symfony2框架学习笔记之HTTP Cache用法详解
2016/03/18 PHP
PHP的PDO事务与自动提交
2019/01/24 PHP
extjs实现选择多表自定义查询功能 前台部分(ext源码)
2011/12/20 Javascript
JS 添加网页桌面快捷方式的代码详细整理
2012/12/27 Javascript
Js获取下拉框选定项的值和文本的实现代码
2014/02/26 Javascript
JQuery弹出层示例可自定义
2014/05/19 Javascript
JavaScript中的apply和call函数详解
2014/07/20 Javascript
javascript实现循环广告条效果
2017/12/12 Javascript
Vue动态面包屑功能的实现方法
2019/07/01 Javascript
24个解决实际问题的ES6代码片段(小结)
2020/02/02 Javascript
node事件循环和process模块实例分析
2020/02/14 Javascript
[01:50]WODOTA制作 DOTA2中文宣传片《HERO》
2013/04/28 DOTA
[03:59]第二届DOTA2亚洲邀请赛选手传记-VGJ.rOtk
2017/04/03 DOTA
Python 的 with 语句详解
2014/06/13 Python
Python 不同对象比较大小示例探讨
2014/08/21 Python
Python获取指定文件夹下的文件名的方法
2018/02/06 Python
Python 读取某个目录下所有的文件实例
2018/06/23 Python
设置python3为默认python的方法
2018/10/31 Python
Python try except finally资源回收的实现
2021/01/25 Python
处理textarea中的换行和空格
2019/12/12 HTML / CSS
英国巧克力贸易公司:Chocolate Trading Company
2017/03/21 全球购物
女士时装鞋:Chinese Laundry
2018/08/29 全球购物
幼师自荐信范文
2013/10/06 职场文书
教师的实习鉴定
2013/12/15 职场文书
如何客观的进行自我评价
2013/12/17 职场文书
管理心得体会
2013/12/28 职场文书
和平主题的演讲稿
2014/01/12 职场文书
森林病虫害防治方案
2014/06/02 职场文书
本科毕业生应聘求职信
2014/07/06 职场文书
八项规定对照检查材料
2014/08/31 职场文书
学校领导班子成员查摆问题及整改措施
2014/10/28 职场文书
纪检干部学习心得体会
2016/01/23 职场文书
使用python绘制横竖条形图
2022/04/21 Python