Best PHP truncate function

I’ve used many different truncate functions in PHP and Smarty but the below script is definetly the best. It can break on period, end of word / space or however you need.

The default action is to break on the first “.” after $limit characters and then pad with “…”.

myTruncate.php

<?php
 
// Original PHP code by Chirp Internet: www.chirp.com.au
// Please acknowledge use of this code by including this header.
// http://www.the-art-of-web.com/php/truncate/
 
function myTruncate($string, $limit, $break=".", $pad="...")
{
  // return with no change if string is shorter than $limit
  if(strlen($string) <= $limit) return $string;
 
  // is $break present between $limit and the end of the string?
  if(false !== ($breakpoint = strpos($string, $break, $limit))) {
    if($breakpoint < strlen($string) - 1) {
      $string = substr($string, 0, $breakpoint) . $pad;
    }
  }
 
  return $string;
}
 
?>

http://www.the-art-of-web.com/php/truncate/ has a write up with all the different options, foramts and additonal functions.

If you need to do any kind of truncating of text/html in PHP

Justin Kelly

Justin Kelly

Web Developer, Business Analytics, Data Engineer specialising in PHP, ReactJS, Tableau, AWS RedShift and Matillion ETL

Based in Melbourne, Australia

Feel free to contact me justin@kelly.org.au or _justin_kelly

Leave a comment

Name Notify me of replies by email.