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中实现图片的锐化
Oct 09 PHP
怎样在UNIX系统下安装php3
Oct 09 PHP
php内核解析:PHP中的哈希表
Jan 30 PHP
ioncube_loader_win_5.2.dll的错误解决方法
Jan 04 PHP
Yii操作数据库实现动态获取表名的方法
Mar 29 PHP
在Laravel框架里实现发送邮件实例(邮箱验证)
May 20 PHP
PHP+Ajax实现验证码的实时验证
Jul 20 PHP
PHP静态成员变量和非静态成员变量详解
Feb 14 PHP
php实现基于pdo的事务处理方法示例
Jul 21 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
Aug 30 PHP
PHP实现数组的笛卡尔积运算示例
Dec 15 PHP
PHP获取真实IP及IP模拟方法解析
Nov 24 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
php遍历文件夹下的所有文件和子文件夹示例
2014/03/20 PHP
jQuery boxy弹出层插件中文演示及使用讲解
2011/02/24 Javascript
jQuery代码优化 事件委托篇
2011/11/01 Javascript
javascript获取所有同类checkbox选项(实例代码)
2013/11/07 Javascript
div浮层,滚动条移动,位置保持不变的4种方法汇总
2013/12/11 Javascript
使用Bootstrap typeahead插件实现搜索框自动补全的方法
2016/07/07 Javascript
JSONP和批量操作功能的实现方法
2016/08/21 Javascript
AngularJs  E2E Testing 详解
2016/09/02 Javascript
js实现html table 行,列锁定的简单实例
2016/10/13 Javascript
jQuery插件HighCharts绘制的基本折线图效果示例【附demo源码下载】
2017/03/07 Javascript
利用js查找数组中指定元素并返回该元素的所有索引示例
2017/03/29 Javascript
解决微信小程序云开发中获取数据库的内容为空的方法
2019/05/15 Javascript
uni-app自定义导航栏按钮|uniapp仿微信顶部导航条功能
2019/11/12 Javascript
在Python中关于中文编码问题的处理建议
2015/04/08 Python
Ubuntu下使用python读取doc和docx文档的内容方法
2018/05/08 Python
Tensorflow 同时载入多个模型的实例讲解
2018/07/27 Python
numpy添加新的维度:newaxis的方法
2018/08/02 Python
python flask安装和命令详解
2019/04/02 Python
python实现字符串和数字拼接
2020/03/02 Python
python实现贪吃蛇游戏源码
2020/03/21 Python
Python3.7将普通图片(png)转换为SVG图片格式(网站logo图标)动起来
2020/04/21 Python
django Model层常用验证器及自定义验证器详解
2020/07/15 Python
移动端html5判断是否滚动到底部并且下拉加载
2019/11/19 HTML / CSS
采购员岗位职责
2013/11/15 职场文书
生产副总岗位职责
2013/11/28 职场文书
新疆民族团结演讲稿
2014/08/27 职场文书
2014年人力资源工作总结
2014/11/19 职场文书
2014年仓库管理工作总结
2014/12/17 职场文书
乡镇安全生产月活动总结
2015/05/08 职场文书
魂断蓝桥观后感
2015/06/10 职场文书
《风筝》教学反思
2016/02/23 职场文书
为什么不建议在go项目中使用init()
2021/04/12 Golang
德劲DE1108畅想
2021/04/22 无线电
Python一行代码实现自动发邮件功能
2021/05/30 Python
通过Qt连接OpenGauss数据库的详细教程
2021/06/23 PostgreSQL
微信小程序纯CSS实现无限弹幕滚动效果
2022/09/23 HTML / CSS