|
|
|
@ -18,20 +18,18 @@ class StringHelper
|
|
|
|
|
{ |
|
|
|
|
/** |
|
|
|
|
* Returns the number of bytes in the given string. |
|
|
|
|
* This method ensures the string is treated as a byte array. |
|
|
|
|
* It will use `mb_strlen()` if it is available. |
|
|
|
|
* This method ensures the string is treated as a byte array by using `mb_strlen()`. |
|
|
|
|
* @param string $string the string being measured for length |
|
|
|
|
* @return integer the number of bytes in the given string. |
|
|
|
|
*/ |
|
|
|
|
public static function strlen($string) |
|
|
|
|
{ |
|
|
|
|
return function_exists('mb_strlen') ? mb_strlen($string, '8bit') : strlen($string); |
|
|
|
|
return mb_strlen($string, '8bit'); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Returns the portion of string specified by the start and length parameters. |
|
|
|
|
* This method ensures the string is treated as a byte array. |
|
|
|
|
* It will use `mb_substr()` if it is available. |
|
|
|
|
* This method ensures the string is treated as a byte array by using `mb_substr()`. |
|
|
|
|
* @param string $string the input string. Must be one character or longer. |
|
|
|
|
* @param integer $start the starting position |
|
|
|
|
* @param integer $length the desired portion length |
|
|
|
@ -40,15 +38,14 @@ class StringHelper
|
|
|
|
|
*/ |
|
|
|
|
public static function substr($string, $start, $length) |
|
|
|
|
{ |
|
|
|
|
return function_exists('mb_substr') ? mb_substr($string, $start, $length, '8bit') : substr($string, $start, $length); |
|
|
|
|
return mb_substr($string, $start, $length, '8bit'); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Returns the trailing name component of a path. |
|
|
|
|
* This method does the same as the php function basename() except that it will |
|
|
|
|
* always use \ and / as directory separators, independent of the operating system. |
|
|
|
|
* Note: basename() operates naively on the input string, and is not aware of the |
|
|
|
|
* actual filesystem, or path components such as "..". |
|
|
|
|
* Note: this method is not aware of the actual filesystem, or path components such as "..". |
|
|
|
|
* @param string $path A path string. |
|
|
|
|
* @param string $suffix If the name component ends in suffix this will also be cut off. |
|
|
|
|
* @return string the trailing name component of the given path. |
|
|
|
|