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,因为它可能与许多(无效字符)匹配