diff --git a/src/Fenom/Modifier.php b/src/Fenom/Modifier.php index 35b675a..42687bc 100644 --- a/src/Fenom/Modifier.php +++ b/src/Fenom/Modifier.php @@ -13,20 +13,24 @@ namespace Fenom; * Collection of modifiers * @author Ivan Shalganov */ -class Modifier { - +class Modifier +{ /** * Date format * * @param string|int $date - * @param string $format + * @param string $format * @return string */ - public static function dateFormat($date, $format = "%b %e, %Y") { - if(is_string($date) && !is_numeric($date)) { + public static function dateFormat($date, $format = "%b %e, %Y") + { + if (is_string($date) && !is_numeric($date)) { $date = strtotime($date); - if(!$date) $date = time(); + if (!$date) { + $date = time(); + } } + return strftime($format, $date); } @@ -35,11 +39,13 @@ class Modifier { * @param string $format * @return string */ - public static function date($date, $format = "Y m d") { - if(is_string($date) && !is_numeric($date)) { + public static function date($date, $format = "Y m d") + { + if (is_string($date) && !is_numeric($date)) { $date = strtotime($date); - if(!$date) $date = time(); + if (!$date) $date = time(); } + return date($format, $date); } @@ -50,8 +56,9 @@ class Modifier { * @param string $type * @return string */ - public static function escape($text, $type = 'html') { - switch(strtolower($type)) { + public static function escape($text, $type = 'html') + { + switch (strtolower($type)) { case "url": return urlencode($text); case "html"; @@ -68,8 +75,9 @@ class Modifier { * @param string $type * @return string */ - public static function unescape($text, $type = 'html') { - switch(strtolower($type)) { + public static function unescape($text, $type = 'html') + { + switch (strtolower($type)) { case "url": return urldecode($text); case "html"; @@ -83,32 +91,34 @@ class Modifier { * Crop string to specific length (support unicode) * * @param string $string text witch will be truncate - * @param int $length maximum symbols of result string - * @param string $etc place holder truncated symbols - * @param bool $by_words - * @param bool $middle + * @param int $length maximum symbols of result string + * @param string $etc place holder truncated symbols + * @param bool $by_words + * @param bool $middle * @return string */ - public static function truncate($string, $length = 80, $etc = '...', $by_words = false, $middle = false) { - if($middle) { - if(preg_match('#^(.{'.$length.'}).*?(.{'.$length.'})?$#usS', $string, $match)) { - if(count($match) == 3) { - if($by_words) { - return preg_replace('#\s.*$#usS', "", $match[1]).$etc.preg_replace('#^.*\s#usS', "", $match[2]); + public static function truncate($string, $length = 80, $etc = '...', $by_words = false, $middle = false) + { + if ($middle) { + if (preg_match('#^(.{' . $length . '}).*?(.{' . $length . '})?$#usS', $string, $match)) { + if (count($match) == 3) { + if ($by_words) { + return preg_replace('#\s.*$#usS', "", $match[1]) . $etc . preg_replace('#^.*\s#usS', "", $match[2]); } else { - return $match[1].$etc.$match[2]; + return $match[1] . $etc . $match[2]; } } } } else { - if(preg_match('#^(.{'.$length.'})#usS', $string, $match)) { - if($by_words) { - return preg_replace('#\s.*$#usS', "", $match[1]).$etc; + if (preg_match('#^(.{' . $length . '})#usS', $string, $match)) { + if ($by_words) { + return preg_replace('#\s.*$#usS', "", $match[1]) . $etc; } else { - return $match[1].$etc; + return $match[1] . $etc; } } } + return $string; } @@ -116,12 +126,13 @@ class Modifier { * Strip spaces symbols on edge of string end multiple spaces in string * * @param string $str - * @param bool $to_line strip line ends + * @param bool $to_line strip line ends * @return string */ - public static function strip($str, $to_line = false) { + public static function strip($str, $to_line = false) + { $str = trim($str); - if($to_line) { + if ($to_line) { return preg_replace('#[\s]+#ms', ' ', $str); } else { return preg_replace('#[ \t]{2,}#', ' ', $str); @@ -133,12 +144,13 @@ class Modifier { * @param mixed $item * @return int */ - public static function length($item) { - if(is_string($item)) { + public static function length($item) + { + if (is_string($item)) { return strlen(preg_replace('#[\x00-\x7F]|[\x80-\xDF][\x00-\xBF]|[\xE0-\xEF][\x00-\xBF]{2}#s', ' ', $item)); } elseif (is_array($item)) { return count($item); - } elseif($item instanceof \Countable) { + } elseif ($item instanceof \Countable) { return count($item); } else { return 0; @@ -146,15 +158,16 @@ class Modifier { } /** - * * @param $value * @param $list * @return bool */ - public static function in($value, $list) { - if(is_array($list)) { + public static function in($value, $list) + { + if (is_array($list)) { return in_array($value, $list); } + return false; } }