Laravel与CI框架中截取字符串函数

yipeiwu_com6年前PHP代码库

Laravel:

function limit($value, $limit = 100, $end = '...')
{
  if (mb_strwidth($value, 'UTF-8') <= $limit) {
    return $value;
  }

  return rtrim(mb_strimwidth($value, 0, $limit, '', 'UTF-8')).$end;
}

Ci:

function word_limiter($str, $limit = 100, $end_char = '…')
{
  if (trim($str) === '')
  {
    return $str;
  }

  preg_match('/^\s*+(?:\S++\s*+){1,'.(int) $limit.'}/', $str, $matches);

  if (strlen($str) === strlen($matches[0]))
  {
    $end_char = '';
  }

  return rtrim($matches[0]).$end_char;
}

相关文章

PHP HTML代码串截取代码

而且给的数据是HTML代码串,比如这样: <div class=”aaa”><a href=”/aaa.php?id=1″>张三</a> 评论了 &l...

修改了一个很不错的php验证码(支持中文)

php英文验证码captcha.class.php 复制代码 代码如下: <?php class Captcha { private $width; private $height...

火车头discuz6.1 完美采集的php接口文件

PS:对原文件的修改较大,程序中注释已经很详尽,这里就不多说了。 复制代码 代码如下:<?php // header('Content-Type:text/html;charset...

php ci 获取表单中多个同名input元素值的代码

有时前台页面要允许动态增加/删除某项属性的多个值,比如向书架中添加书本,要可以动态增加或者删除书本。前台页面的表单中会有多个input元素,如下: 复制代码 代码如下: <form...

PHP逐行输出(ob_flush与flush的组合)

ob_flush/flush在手册中的描述, 都是刷新输出缓冲区, 并且还需要配套使用, 所以会导致很多人迷惑… 其实, 他们俩的操作对象不同, 有些情况下, flush根本不做什么事情...