lithiumdev/laravel-tagcloud

用于生成标签云的Laravel包。

v1.1.0 2020-08-19 03:55 UTC

This package is auto-updated.

Last update: 2024-09-05 11:14:05 UTC


README

Laravel 5+ 标签云生成器

来自Lithium Hosting
我们始终欢迎pull requests,请随意将其变为你自己的或帮助我们改进它。

版权

(c) Lithium Hosting, llc

许可

本库遵循GNU GPL许可协议;您可以在文件/LICENSE中找到完整的许可协议副本。

要求

  • Laravel 5.2+
  • php 5.5.9+
  • 了解Laravel和php的知识

描述

帮助生成标签云的Laravel包

安装

通过Composer安装此包。将以下内容添加到您的composer.json文件中:

    "lithiumdev/laravel-tagcloud": "~1.0"

接下来,运行Composer更新命令

$ composer update

将服务提供者添加到app/config/app.php文件中的providers数组中。

    'providers' => array(
        // ...
        LithiumDev\TagCloud\ServiceProvider::class,
    ),

使用方法

use LithiumDev\TagCloud\TagCloud;

$cloud = new TagCloud();
$cloud->addTag("tag-cloud");
$cloud->addTag("programming");

echo $cloud->render();

或者

// Assumes use of Facade "TagCloud"
$cloud = \TagCloud::addTags(['tag_1', 'tag_2', 'tag_3']);

echo $cloud->render();

转换字符串

$cloud->addString("This is a tag-cloud script!");

添加多个标签

$cloud->addTags(array('laravel', 'laravel-tagcloud','php','github'));

删除一个标签

$cloud->setRemoveTag('github');

删除多个标签

$cloud->setRemoveTags(array('tag','cloud'));

更复杂的添加

$cloud->addTag(array('tag' => 'php', 'url' => 'https://php.ac.cn', 'colour' => 1));
$cloud->addTag(array('tag' => 'ajax', 'url' => 'https://php.ac.cn', 'colour' => 2));
$cloud->addTag(array('tag' => 'css', 'url' => 'https://php.ac.cn', 'colour' => 3));

设置所需的最小长度

$cloud->setMinLength(3);

限制输出

$cloud->setLimit(10);

设置排序

$cloud->setOrder('colour','DESC');

设置自定义HTML输出

$cloud->setHtmlizeTagFunction(function($tag, $size) use ($baseUrl) {
  $link = '<a href="'.$baseUrl.'/'.$tag['url'].'">'.$tag['tag'].'</a>';
  return "<span class='tag size{$size} colour-{$tag['colour']}'>{$link}</span> ";
});

输出云(如上图所示)

echo $cloud->render();

转写

默认情况下,所有带重音的字符将被转换为不带重音的等效字符,这是为了避免在同一个云中出现重复的相似标签,要禁用此功能并显示UTF-8字符,可以执行以下操作

$tagCloud->setOption('transliterate', false);