设为首页 收藏本站
查看: 1160|回复: 0

[经验分享] 封装 wp-cumulus 中的3D标签云,使之用在普通的网页上(php)。

[复制链接]

尚未签到

发表于 2017-4-13 11:44:12 | 显示全部楼层 |阅读模式
  看到3D标签云很久了,一直很羡慕,不知道人家是怎么弄的,今天终于了解了一下,就是js+swf实现的。具体代码是大牛写的,我们会用行了。
  扒开代码,看了一天怎么用,终于到晚上得时候让我弄出来了。为了方便,我把它封装成了函数。记录一下吧。
  要有这两个文件:tagcloud.swf , swfobject.js
  然后便是自己对这些东西的调用了。不多说了,直接上代码吧。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>tag cloud fengzhuang</title>
</head>
<body>

<?php
//$abnormal: when the flash and js can not support ,we can also use the links to access
//$abnormal format: '<a href="http://www.abc.com">abc</a>';
// $mytags: use to put in the sphere
// $mytags format:'<a href='http://www.baidu.com' style='font-size: 24.12pt;'>abc24</a> '
function tag_cloud($abnormal, $mytags)
{
$soname = 'so_' . rand(0,999999);
$moviename  = 'mo_' . rand(0, 999999) ;
$mytags = urlencode('<tags>') . urlencode($mytags) . urlencode('</tags>');
$flashtag = '';
$flashtag .= '<div id="wp-cumulus" class="block">';

//remember to change the src
$flashtag .= '<script type="text/javascript" src="http://localhost/test/js/swfobject.js"></script>';
$flashtag .= '<div id = "tagcannotdis">';
$flashtag .= $abnarmal;
$flashtag .= '</div>';
$flashtag .= '<script type="text/javascript">';
               // remember to change the url
$flashtag .= 'var ' . $soname .' = new SWFObject("http://localhost/test/js/tagcloud.swf?r=' . $moviename . '", "tagcloudflash", "800", "800", "9", "#ffffff");';
$flashtag .= $soname . '.addParam("wmode", "transparent");';
$flashtag .= $soname . '.addParam("allowScriptAccess", "always");';
$flashtag .= $soname . '.addVariable("tcolor", "0xb06002");';
$flashtag .= $soname . '.addVariable("tcolor2", "0x000000");';
$flashtag .= $soname . '.addVariable("hicolor", "0x814600");';
$flashtag .= $soname . '.addVariable("tspeed", "100");';
$flashtag .= $soname . '.addVariable("distr", "true");';
// if you want to add the categories , modify here
$flashtag .= $soname . '.addVariable("mode", "both");';
$flashtag .= $soname . '.addVariable("tagcloud", "' . $mytags . '");';
// if you want to add the categories , modify here
// 6 means the frequency or articles of this categorie
$flashtag .= $soname . '.addVariable("categories", "' . urlencode('     <a href="http://www.baidu.com">Baidu</a>(6)<br />') . '");';
$flashtag .= $soname . '.write("tagcannotdis");</script>';

$flashtag .= '</div>';
return $flashtag;
}
?>
<?php
// a demo how to use the function tag_cloud();
echo '<h1>标签云</h1><br />';
$a = "<a href='http://www.baiduc.com'>baidu</a>";
$c = "";
//<a href='http://www.baidu.com' style='font-size: 24.12pt;'>abc24</a>
for ( $i = 8 ; $i <= 70; $i++)
{
$c .= "<a href='http://www.baidu.com' style='font-size: " . $i . ".12pt;'>tag" . $i . "</a>";
}
echo tag_cloud($a, $c);
?>
</body>
</html>


  将代码保存为php文件,然后借助前面提到的两个文件,就可以看到3D效果的云标签了。
  效果图:
DSC0000.png

  附件中有完整代码。
  注意:tagcloud 变量里的格式是urlencode('<tags><a href='http://www.baidu.com' style='font-size: 24.12pt;'>abc24</a>tags>')
  而categories里面的格式是urlencode('        <a href="http://www.baidu.com" title="P2P">ZZG</a> (1)<br />');
  单引号里德空格是一个tab健,后面的"(1)"表示的是此词条出现的频率,必须按此格式来才可以。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-364442-1-1.html 上篇帖子: PHP长连接session被独占,通过解释SESSION文件来验证SESSION内容 下篇帖子: 借用SINA IP地址库取用户所在城市及地区 PHP版
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表