Posted By

Admiral on 10/06/09


php truncate Truncation

Versions (?)

Who likes this?

2 people have marked this snippet as a favorite


PHP Truncate function

 / Published in: PHP


Hey everyone, I was noticing that there are a lot of ways that people are using to write their own string truncation functions wit the use of other functions like 'substr_replace', but it kinda seemed like a lot of them went a bit too far out to make any sense to a n00b. Not that I am one anymore, but I though I'd add a note on this topic myself, in hopes that it might help others understand things a little better.

Here's a concept that some people don't know about, or remember to use often enough; You can actually pull individual characters out of a string by referencing that string as though it were an array. Example: If I have the string $s = 'cat', I can use $s[0] to actually get out only the first character of that string, 'c'. I use that same principle below, but I just use a loop to iterate through a string and add the characters to the output variable one by one until the $lenth param has been reached, or until the end of the string.

I hope this can help someone out!

-Admiral Potato

  1. <?php
  3. function admiralsTruncate($string, $length){
  4. settype($string, 'string');
  5. settype($length, 'integer');
  6. for($a = 0; $a < $length AND $a < strlen($string); $a++){
  7. $output .= $string[$a];
  8. }
  9. return($output);
  10. }
  13. $my_string = 'cfcd208495d565ef66e7dff9f98764da';
  15. echo admiralsTruncate($my_string, 6); // outputs: cfcd20
  17. echo '<br>';
  19. echo admiralsTruncate($my_string, 9); // outputs: cfcd20849
  21. ?>

Report this snippet  


RSS Icon Subscribe to comments
Posted By: evilwalrus on October 6, 2009

No need here for the settype() calls... php is loosely typed. I also fail to see how this is easier to use than substr().. substr($string, 0, 6) is the same as example 1... Just a thought.

Posted By: ingerslev on October 14, 2009

Like evilwalrus i don't see how this is easier to use or understand, than using substr or mb_substr? It seems a little n00b my friend :)

You need to login to post a comment.