![](/img/trans.png)
[英]PHP - How to get tweet count, following count, follower count and like count from Twitter REST api?
[英]Count tweet length like twitter with PHP
我想計算像 twitter 這樣的推文長度,我在這里嘗試使用mb_strlen
和strlen
所有這些類型
問題是 twitter 將"✌️ @mention"
15 ,但我得到了這些結果,但我不知道 twitter 如何計算表情符號以及如何使用 php 來解決這個問題
我的結果:
strlen: 27
mb_strlen UTF-8: 14
mb_strlen UTF-16: 13
iconv UTF-16: 14
iconv UTF-16: 27
對於在 Unicode 處理方面有經驗的程序員來說,這個問題的簡短答案是推文長度是通過文本的 NFC 規范化版本中的代碼點數來衡量的。
因此,要在 PHP 中計算推文的長度,您將首先使用規范化形式 C (NFC)對文本進行規范化,然后計算規范化文本中的代碼點( NOT CHARACTERS ) 數量。
$text = "👍🏿✌🏿️ @mention";
// Get the normalized text in UTF-8
$NormalizedText = Normalizer::normalize($text, Normalizer::FORM_C );
// Now we can calculate the number of codepoints in this normalized text
$it = IntlBreakIterator::createCodePointInstance();
$it->setText($NormalizedText);
$len = 0;
foreach ($it as $codePoint) {
$len++;
}
echo "Length = $len"; // Result: Length = 15
@Sherif Answer 在某些情況下不起作用。 我發現這個庫可以完美nojimage/twitter-text-php
這是我的代碼
use Twitter\Text\Parser;
$validator = Parser::create()->parseTweet($caption);
if ($validator->weightedLength > 280) {
throw new MessageException("Maximum post length is 280 characters.");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.