[prev in list] [next in list] [prev in thread] [next in thread]
List: smarty-cvs
Subject: [SMARTY-CVS] cvs: smarty / NEWS /libs/plugins modifier.truncate.php
From: "Monte Ohrt" <mohrt () php ! net>
Date: 2005-06-13 19:22:29
Message-ID: cvsmohrt1118690549 () cvsserver
[Download RAW message or body]
mohrt Mon Jun 13 15:22:29 2005 EDT
Modified files:
/smarty NEWS
/smarty/libs/plugins modifier.truncate.php
Log:
add "middle" parameter to truncate modifier
http://cvs.php.net/diff.php/smarty/NEWS?r1=1.502&r2=1.503&ty=u
Index: smarty/NEWS
diff -u smarty/NEWS:1.502 smarty/NEWS:1.503
--- smarty/NEWS:1.502 Fri May 6 10:27:19 2005
+++ smarty/NEWS Mon Jun 13 15:22:28 2005
@@ -1,3 +1,4 @@
+ - add "middle" parameter to truncate (monte)
- make form input label ids optional (monte)
- add error message for empty if/elseif statements (eykanal,
monte)
http://cvs.php.net/diff.php/smarty/libs/plugins/modifier.truncate.php?r1=1.4&r2=1.5&ty=u
Index: smarty/libs/plugins/modifier.truncate.php
diff -u smarty/libs/plugins/modifier.truncate.php:1.4 smarty/libs/plugins/modifier.truncate.php:1.5
--- smarty/libs/plugins/modifier.truncate.php:1.4 Fri Dec 19 10:22:55 2003
+++ smarty/libs/plugins/modifier.truncate.php Mon Jun 13 15:22:29 2005
@@ -13,29 +13,35 @@
* Name: truncate<br>
* Purpose: Truncate a string to a certain length if necessary,
* optionally splitting in the middle of a word, and
- * appending the $etc string.
+ * appending the $etc string or inserting $etc into the middle.
* @link http://smarty.php.net/manual/en/language.modifier.truncate.php
* truncate (Smarty online manual)
* @param string
* @param integer
* @param string
* @param boolean
+ * @param boolean
* @return string
*/
function smarty_modifier_truncate($string, $length = 80, $etc = '...',
- $break_words = false)
+ $break_words = false, $middle = false)
{
if ($length == 0)
return '';
if (strlen($string) > $length) {
$length -= strlen($etc);
- if (!$break_words)
+ if (!$break_words && !$middle) {
$string = preg_replace('/\s+?(\S+)?$/', '', substr($string, 0, $length+1));
-
- return substr($string, 0, $length).$etc;
- } else
+ }
+ if(!$middle) {
+ return substr($string, 0, $length).$etc;
+ } else {
+ return substr($string, 0, $length/2) . $etc . substr($string, -$length/2);
+ }
+ } else {
return $string;
+ }
}
/* vim: set expandtab: */
--
Smarty CVS Mailing List (http://cvs.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic