     1: <?php
     2: /*************************************************************************************/
     3: /*                                                                                   */
     4: /*      Thelia                                                                       */
     5: /*                                                                                   */
     6: /*      Copyright (c) OpenStudio                                                     */
     7: /*  email : info@thelia.net                                                      */
     8: /*      web : http://www.thelia.net                                                  */
     9: /*                                                                                   */
    10: /*      This program is free software; you can redistribute it and/or modify         */
    11: /*      it under the terms of the GNU General Public License as published by         */
    12: /*      the Free Software Foundation; either version 3 of the License                */
    13: /*                                                                                   */
    14: /*      This program is distributed in the hope that it will be useful,              */
    15: /*      but WITHOUT ANY WARRANTY; without even the implied warranty of               */
    16: /*      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                */
    17: /*      GNU General Public License for more details.                                 */
    18: /*                                                                                   */
    19: /*      You should have received a copy of the GNU General Public License            */
    20: /*      along with this program. If not, see <http://www.gnu.org/licenses/>.     */
    21: /*                                                                                   */
    22: /*************************************************************************************/
    23:
    24: namespace Thelia\Tpex;
    25:
    26: class Tools
    27: {
    28:     /**
    29:      *
    30:      * search needle into haystask string.
    31:      *
    32:      * exemple :
    33:      *
    34:      * $haystack => type="foo" id="loop1" param1="value1"
    35:      *
    36:      * Tools::extractValueParam("type", $haystack) returns foo
    37:      *
    38:      * @param  string $needle
    39:      * @param  string $haystack
    40:      * @return mixed
    41:      */
    42:     public static function extractValueParam($needle, $haystack)
    43:     {
    44:         if(!strstr($haystack, $needle) || !preg_match("/$needle=\"([^\"]*)\"/", $haystack, $restag)) return;
    45:
    46:         return $restag[1];
    47:     }
    48:
    49:     /**
    50:      *
    51:      * sort variable array. the more longer must be first
    52:      *
    53:      * @param $a
    54:      * @param $b
    55:      * @return int
    56:      */
    57:     public static function sortArray($a, $b)
    58:     {
    59:         $la = strlen($a);
    60:         $lb = strlen($b);
    61:
    62:         if ($la == $lb) return 0;
    63:         return ($la > $lb) ? -1 : 1;
    64:     }
    65: }
    66: