kylewm/brevity

一个小型工具,用于计算字符数并将帖子缩短到推文长度。

0.2.10 2017-11-25 19:51 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:31:37 UTC


README

Build Status

一个小型工具,用于计算字符数、自动链接,并将帖子缩短到可接受的推文长度摘要。

这是同名Python模块的移植。请参阅https://github.com/kylewm/brevity以获取文档。

请注意,此模块依赖于mb_字符串方法可用。我在我的项目中通过设置获得最佳结果。

mb_internal_encoding('UTF-8');

somewhere in my project.

安装

如果您正在使用Composer,只需composer require kylewm/brevity即可。

否则,待办事项

用法

tweetLength($text)

使用tweetLength()找出一条消息在Twitter上将使用多少字符

$brevity = new \Kylewm\Brevity\Brevity();
$length = $brevity->tweetLength('Published my first npm www.npmjs.com/package/brevity and composer packagist.org/packages/kylewm/brevity packages today!');
echo $length;  // 99

此文本为119个字符,但由于t.co包装,将仅使用99个字符。

autolink($text)

将纯文本中的URL转换为HTML链接。

$brevity = new \Kylewm\Brevity\Brevity();
$html = $brevity->autolink("I'm a big fan of https://en.wikipedia.org/wiki/Firefly_(TV_series) (and its creator https://en.wikipedia.org/wiki/Joss_Whedon)");
echo $html;

请注意,brevity处理括号和其他标点符号的方式与您预期的方式相同。

shorten($text)

shorten($text)函数接受任何长度的消息,并将其缩短到280个字符的推文长度,在它被截断的地方添加省略号。它不会在单词或URL的中间进行截断。Shorten接受一些可选参数,这些参数会改变推文的形成方式。这些参数中的任何一项都可以是false

  • $permalink - 如果文本被缩短,则在省略号之后包含。必须是URL或false。
  • $shortpermalink - 包含在未缩短的推文的末尾括号中。必须是URL或false。
  • $shortpermacitation - 包含在未缩短的推文的末尾括号中。不能是URL,例如ttk.me t4fT2
  • $formatAsTitle - 将文本视为更长的文章的标题。始终格式化为"标题: $permalink"或"标题… $permalink"(如果被缩短)。
$brevity = new \Kylewm\Brevity\Brevity();
$permalink = "https://kylewm.com/2016/01/brevity-shortens-notes";
$longnote = "Brevity (github.com/kylewm/brevity-php) shortens notes that are too long to fit in a single tweet. It can also count characters to help you make sure your note won't need to be shortened!";
$tweet = $brevity->shorten($longnote, $permalink);
echo $tweet;

变更

  • 0.2.10 - 2017-11-25:考虑280个字符的限制和多字节字符权重。还从Python库中回滚了一些修复。
  • 0.2.8 - 2016-04-19:支持文章+媒体格式
  • 0.2.5 - 2016-01-29:将命名空间从Kylewm更改为Kylewm\Brevity,以提高PSR-0兼容性。