123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- <?php
- /**
- * Created by PhpStorm.
- * User: robin
- * Date: 1/10/16
- * Time: 11:28 PM
- */
-
- namespace Luticate\Utils\Business;
-
- use Carbon\Carbon;
-
- class LuStringUtils
- {
- public static function snakeToCamelCase($string, $capitalizeFirstCharacter = false)
- {
- $str = preg_replace_callback("/_[a-zA-Z0-9]/", function($matches)
- {
- return strtoupper($matches[0][1]);
- }, $string);
- if ($capitalizeFirstCharacter && !empty($str)) {
- $str[0] = strtoupper($str[0]);
- }
- else {
- $str[0] = strtolower($str[0]);
- }
- return $str;
- }
-
- public static function camelCaseToSnake($string, $underscoreFirstCharacter)
- {
- $str = preg_replace_callback("/[A-Z0-9]/", function($matches)
- {
- return strtolower("_" . $matches[0]);
- }, $string);
- if (!$underscoreFirstCharacter && !empty($str) && $str[0] == "_") {
- $str = substr($str, 1, strlen($str) - 1);
- }
- return $str;
- }
-
- public static function convertJsonString($json, $capitalizeFirstCharacter = false)
- {
- $array = json_decode($json, true);
- return LuArrayUtils::snakeToCamelCase($array, $capitalizeFirstCharacter);
- }
-
- /**
- * @param $str
- * @return null|Carbon
- */
- public static function parseDate($str)
- {
- try {
- return Carbon::parse($str);
- } catch (\Exception $e) {
- return null;
- }
- }
-
- public static function endsWith($haystack, $needle) {
- return $needle === "" || (($temp = strlen($haystack) - strlen($needle)) >= 0
- && strpos($haystack, $needle, $temp) !== false);
- }
-
- public static function startsWith($haystack, $needle) {
- return $needle === "" || strrpos($haystack, $needle, -strlen($haystack)) !== false;
- }
- }
|