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

2 php api twitter character limit

twitter为推文内的所有链接设置固定字符长度20.

因此,即使用户使用像bit.ly这样的网址缩短服务并且粘贴短于20个字符的网址,所有网址最终都会通过推特给出20个字符的长度.

我想知道如何计算推文的最终长度(包括一个或多个短网址),因此它使用PHP保持在140个字符以下.

Tim*_*lla 6

您可以通过正则表达式用一些通用文本替换您的链接,然后计算整个长度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);
Run Code Online (Sandbox Code Playgroud)

您可能需要稍微调整正则表达式,因为它可能匹配很多(无效字符)