用PHP计算最终的推特字符长度


Calculate final tweet character length in PHP

twitter为tweet中的所有链接设置20的固定字符长度。

因此,即使用户使用bit.ly这样的url缩短服务,并粘贴短于20个字符的url,所有url最终将由twitter提供20个字符的长度。

我想知道如何计算推特的最终长度(包括一个或多个短URL),以便使用PHP将其保持在140个字符以下。

您可以通过regex将链接替换为一些通用文本,然后用mb_strlen()计算整个长度。mb_strlen,因为Twitter将多字节字符计算为一个字符。

$tweet = 'Check this: http://stackoverflow.com/questions/8864767/calculate-final-tweet-character-length-in-php';
$length = mb_strlen(preg_replace('~https?://([^'s]*)~', 'http://8901234567890', $tweet), 'UTF-8');
var_dump($length); // int(32);

您可能需要稍微调整regex,因为它可能与许多(无效字符)匹配