Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用PHP计算最终tweet字符长度_Php_Api_Twitter_Limit_Character - Fatal编程技术网

用PHP计算最终tweet字符长度

用PHP计算最终tweet字符长度,php,api,twitter,limit,character,Php,Api,Twitter,Limit,Character,twitter为tweets中的所有链接设置20个固定字符长度 所以,即使用户使用像bit.ly这样的url缩短服务并粘贴短于20个字符的url,所有url都是如此 twitter最终会给出20个字符的长度 我想知道如何计算一条推文的最终长度(包括一个或多个短URL),以便使用PHP将其保持在140个字符以下。您可以通过正则表达式将链接替换为一些通用文本,然后计算整个长度mb_strlen因为Twitter将多字节字符计算为一个字符 $tweet = 'Check this: http://st

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

所以,即使用户使用像bit.ly这样的url缩短服务并粘贴短于20个字符的url,所有url都是如此 twitter最终会给出20个字符的长度


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

您可以通过正则表达式将链接替换为一些通用文本,然后计算整个长度
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);
您可能需要稍微调整正则表达式,因为它可能会匹配很多(无效字符)