タグ クラウドは、関連するタグとそれに対応する重みのセットです。一般的なタグ クラウドには 30 ~ 150 個のタグがあります。ウェイトは、使用されるフォント サイズやその他の視覚効果に影響します。一方、ヒストグラムまたは円グラフは、約 12 の異なる重みを表すために最もよく使用されます。したがって、タグ クラウドは、精度は低くなりますが、より多くの重みを表現できます。さらに、タグ クラウドはインタラクティブであることが多く、タグは通常 ハイパーリンク であり、ユーザーはコンテンツを詳しく見ることができます。
次の実装コードは、データベースからタグを検索し、出現数に基づいてさまざまなサイズのテキストリンクが表示されるようにフォーマットします。
データベースには、記事を格納するテーブルに「タグ」フィールドがあります。ラベルを保管するために使用されます。タグは「,」で区切ります。たとえば、「PHP、VB、エッセイ」などです。
以下の実装コードは、データベースからタグを検索し、出現数に基づいてさまざまなサイズのテキスト リンクを表示するようにフォーマットします。
詳しい説明はしません!
古い概念、愚かな手法、低効率のタグクラウドの実装コードは次のとおりです:
コードは次のとおりです:
//Connect the database //include('../include/config.php'); /** * CountTag() - Statistics labels appear the number,and the data to be stored in the two array * * GetTag() - Access the Tag's Labels from the database */ function CountTag($String){ $TagString = $String; //echo $TagString." "; $Tags = explode(",",$TagString); $n = 1; $i = 0; $Continue = TRUE; //echo $Tags[1]." "; //in case no-label's article while($Tags[$n] OR $Tags[++$n] OR $Tags[++$n] ){ $EachTag = $Tags[$n++]; //echo $EachTag." "; $Continue = TRUE; for($i=0;$Continue;$i++){ if( $EachTagStr[$i][0] ) { if( $EachTagStr[$i][0] == $EachTag ){ $EachTagStr[$i][1]++; $Continue = FALSE; } else { if( $EachTagStr[$i+1][0] ) $Continue = TRUE; else { $EachTagStr[$i+1][0] = $EachTag; $EachTagStr[$i+1][1] = 1; $Continue = FALSE; } } } else { //initialize the array $EachTagStr[][] $EachTagStr[$i][0] = $EachTag; $EachTagStr[$i][1] = 1; $Continue = FALSE; } } } return $EachTagStr; } function ShowTag($Row,$ablink){ $i = 0; while($Row[$i][0]){ $EachTag = $Row[$i][0]; $EachCount = $Row[$i][1]; $Size = SetSize($EachCount); echo " < a style='color:BLUE ; font-size:".$Size." ' onMouseOver=this.style.color='#900000' onMouseOut=this.style.color='BLUE' href='".$ablink."tag?tag=".$EachTag."' target='_self' > ".$EachTag."(".$EachCount.")"." "; $i++; } } function GetTag(){ $QuerySet = mysql_query("select * from article"); while($Row = mysql_fetch_array($QuerySet)){ $Tag = $Row['tag']; $TagString = $TagString.",".$Tag; } return $TagString; } function SetSize($Size){ $Size += 10; if($Size > 30) $Size = 30; return $Size; } //Go echo " "; echo "标签云"; $String = GetTag(); $Row = CountTag($String); ShowTag($Row,$ablink); echo " "; ?>
以上がタグクラウドを実装するためのPHPコードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。