Added feature ##9656: Extend t3lib_div::trimExplode to limit the number of elements
authorOliver Hader <oliver.hader@typo3.org>
Mon, 27 Oct 2008 23:24:26 +0000 (23:24 +0000)
committerOliver Hader <oliver.hader@typo3.org>
Mon, 27 Oct 2008 23:24:26 +0000 (23:24 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@4356 709f56b5-9817-0410-a4d7-c38de5d9e867

ChangeLog
t3lib/class.t3lib_div.php

index fbfe4a7..69ffd3b 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,7 @@
 
        * Fixed bug #9655: Call to t3lib_div::devLog() without key in index_ts.php (thanks to Francois Suter)
        * Fixed bug #9607: Module DB check uses hardcoded labels (thanks to Christopher Stelmaszyk)
+       * Added feature ##9656: Extend t3lib_div::trimExplode to limit the number of elements
 
 2008-10-24  Oliver Hader  <oliver@typo3.org>
 
index cf2861e..0a84e4c 100755 (executable)
@@ -1603,10 +1603,13 @@ final class t3lib_div {
         * @param       string          Delimiter string to explode with
         * @param       string          The string to explode
         * @param       boolean         If set, all empty values (='') will NOT be set in output
+        * @param       integer         If positive, the result will contain a maximum of limit elements,
+        *                                              if negative, all components except the last -limit are returned,
+        *                                              if zero (default), the result is not limited at all
         * @return      array           Exploded values
         */
-       public static function trimExplode($delim, $string, $onlyNonEmptyValues=0)      {
-               $array = explode($delim, $string);
+       public static function trimExplode($delim, $string, $onlyNonEmptyValues = false, $limit = 0) {
+               $array = (!$limit ? explode($delim, $string) : explode($delim, $string, $limit));
                        // for two perfomance reasons the loop is duplicated
                        //  a) avoid check for $onlyNonEmptyValues in foreach loop
                        //  b) avoid unnecessary code when $onlyNonEmptyValues is not set