<?php
$string = "Truncates a string at a certain position without cutting words into senseless pieces.";
$maxlength = 75;
$extension = " ...";
function truncate_string ($string, $maxlength, $extension) {
// Set the replacement for the "string break" in the wordwrap function
$cutmarker = "**cut_here**";
// Checking if the given string is longer than $maxlength
if (strlen($string) > $maxlength) {
// Using wordwrap() to set the cutmarker
// NOTE: wordwrap (PHP 4 >= 4.0.2, PHP 5)
$string = wordwrap($string, $maxlength, $cutmarker);
// Exploding the string at the cutmarker, set by wordwrap()
$string = explode($cutmarker, $string);
// Adding $extension to the first value of the array $string, returned by explode()
$string = $string[0] . $extension;
}
// returning $string
return $string;
}
// This Will output:
// "Truncates a string at a certain position without ?cutting? ..."
echo truncate_string ($string, $maxlength, $extension);
?>