给dabr添加140字自动截断功能

dabr默认没有140字自动截断功能,有时候长推发不出去犹然不知,这里Felix给出一个简单的方法为dabr添加140字自动截断功能(未处理网址等特殊结构):

打开 /common/twitter.php 文件,找到

function twitter_update() {
  twitter_ensure_post_action();
  $status = twitter_url_shorten(stripslashes(trim($_POST['status'])));

在其下添加:

  if (function_exists('mb_substr')) {
    if (mb_strlen($status,'utf-8') > 140)
    $status = mb_substr($status, 0, 140, 'utf-8');
  }

即可:)
若想添加省略号,

可以把

$status = mb_substr($status, 0, 140, 'utf-8');

替换为

$status = mb_substr($status, 0, 139, 'utf-8')."…";

或者

$status = mb_substr($status, 0, 137, 'utf-8')."...";

(中英文省略号,很简单,看明白也可以自行修改成其他东西)

这里调用了PHP的mbstring库函数,若没有开这个库,还是泪奔吧 XD

39 thoughts on “给dabr添加140字自动截断功能”

  1. 帮你改了代码、、刚刚在测试、、被推友说了刷屏了、、

    if (function_exists(‘mb_substr’)) {
    if (mb_strlen($status,’utf-8′) > 140)
    $status = mb_substr($status, 0, 137, ‘utf-8’).”…”;
    }

    必须用 utf8 来 进行 检测 、、否则 会有问题 、、
    第一行 是 检测 模块 是否存在 、、

      1. 额、、其实是因为 我发现 、、我发的某些 没有 超过140字的推 会被 加上 省略号 、、
        然后就上网Google了一下 、、改了一下代码、、

          1. 装上 这个插件吧: Comment Reply Notification
            否则,还真不知道,你有没有回复我额、、

          1. -________-“” 虽然 dabr 源码简单 、、只有 php 、、但对空间要求太高了额 、、

Leave a Reply

Your email address will not be published. Required fields are marked *

QR Code Business Card