【发布时间】:2012-02-10 11:52:00
【问题描述】:
twitter 为推文中的所有链接设置了 20 个固定字符长度。
因此,即使用户使用 bit.ly 之类的 url 缩短服务并粘贴短于 20 个字符的 url,所有 url 最终会被 twitter 赋予 20 个字符的长度。
我想知道如何计算一条推文的最终长度(包括一个或多个短网址),使其在 PHP 中保持在 140 个字符以下。
【问题讨论】:
标签: php api twitter limit character
twitter 为推文中的所有链接设置了 20 个固定字符长度。
因此,即使用户使用 bit.ly 之类的 url 缩短服务并粘贴短于 20 个字符的 url,所有 url 最终会被 twitter 赋予 20 个字符的长度。
我想知道如何计算一条推文的最终长度(包括一个或多个短网址),使其在 PHP 中保持在 140 个字符以下。
【问题讨论】:
标签: php api twitter limit character
您可以通过正则表达式将链接替换为一些通用文本,然后用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);
您可能需要稍微调整正则表达式,因为它可能匹配很多(无效字符)
【讨论】: