php tag云,[宜配屋]听图阁

本文实例讲述了php实现根据词频生成tag云的方法。分享给大家供大家参考。具体如下:

这里给定一段文本,分析文本的词频分布,生成tag云

/**

* Tag cloud demo based on word frequency

* @author: unknown

* @since: 2007-02-27

*/

// Store frequency of words in an array

$freqData = array();

// Random words

$lorem = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.

Phasellus vestibulum ullamcorper tortor. Aenean quis lacus quis neque

adipiscing ultricies. Pellentesque tincidunt ligula vitae nibh ornare

pharetra. Proin dignissim tortor. Donec et ipsum nec tellus gravida

tempor. Aliquam ullamcorper purus vel felis. Praesent faucibus.

Curabitur porta. Nulla in lorem quis mi lacinia fringilla. Integer

adipiscing mi quis felis. Pellentesque habitant morbi tristique senectus

et netus et malesuada fames ac turpis egestas. Quisque sagittis ante in

arcu. Sed libero enim, venenatis sit amet, vestibulum at, porttitor id,

neque. Vestibulum ornare semper erat. Sed tincidunt nibh et massa. Cras

sed diam. Quisque blandit enim.

Sed nonummy. Aenean mollis turpis quis enim. Nam massa nulla, varius

molestie, aliquet et, feugiat eget, nisi. Sed mollis, leo ut pretium

placerat, nibh turpis egestas ipsum, sed aliquam neque enim in risus.

Nullam nisl. Sed tincidunt leo quis tellus. Mauris non lorem. Aenean

tristique justo at arcu. Fusce et lorem. Nam sodales. Mauris condimentum

diam. Nam commodo. Cum sociis natoque penatibus et magnis dis parturient

montes, nascetur ridiculus mus. Cras ac risus. Proin et dolor laoreet mi

gravida sodales. Duis bibendum, ipsum posuere egestas posuere, dui lacus

feugiat turpis, id tincidunt urna est sit amet est. Cras eu sem.

";

// Get individual words and build a frequency table

foreach( str_word_count( $lorem, 1 ) as $word )

{

// For each word found in the frequency table,

//increment its value by one

array_key_exists($word,$freqData)?$freqData[$word]++:$freqData[$word]=0;

}

// ==============================================================

// = Function to actually generate the cloud from provided data =

// ==============================================================

function getCloud($data = array(), $minFontSize = 12, $maxFontSize = 30)

{

$minimumCount = min( array_values( $data ) );

$maximumCount = max( array_values( $data ) );

$spread = $maximumCount - $minimumCount;

$cloudHTML = '';

$cloudTags = array();

$spread == 0 && $spread = 1;

foreach( $data as $tag => $count )

{

$size = $minFontSize + ( $count - $minimumCount )

* ( $maxFontSize - $minFontSize ) / $spread;

$cloudTags[] = ''

. htmlspecialchars( stripslashes( $tag ) ) . '';

}

return join( "\n", $cloudTags ) . "\n";

}

?>

/p>

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Tag Cloud Demo

/*

.tag_cloud { padding: 3px; text-decoration: none; }

.tag_cloud:link { color: #81d601; }

.tag_cloud:visited { color: #019c05; }

.tag_cloud:hover { color: #ffffff; background: #69da03; }

.tag_cloud:active { color: #ffffff; background: #ACFC65; }

/*]]>*/

Sample Tag Cloud

希望本文所述对大家的php程序设计有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值