note 56836 added to function.substr
| From: | bobat808mediendotde at osu1 dot php dot net | Date: | Fri, 16 Sep 2005 09:10:02 +0000 |
| Subject: | note 56836 added to function.substr | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-95278@lists.php.net to get a copy of this message | ||
Truncates a string at a certain position without »cutting« words into senseless pieces.
I hope this is usefull for some of you and that it is not another redundant note (I didn't find
one) ...
<?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);
?>
Best
Bob
----
Manual Page -- http://www.php.net/manual/en/function.substr.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+56836
Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+56836&report=yes&reason=added+to+the+manual
Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+56836&report=yes&reason=bad+code
Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+56836&report=yes&reason=spam
Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+56836&report=yes&reason=useless
Delete: non-english -- http://master.php.net/manage/user-notes.php?action=delete+56836&report=yes&reason=non-english
Delete: already in docs -- http://master.php.net/manage/user-notes.php?action=delete+56836&report=yes&reason=already+in+docs
Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+56836&report=yes
Reject -- http://master.php.net/manage/user-notes.php?action=reject+56836&report=yes
Search -- http://master.php.net/manage/user-notes.php