|
|
@ -4,46 +4,6 @@ namespace Blobt\Luxcore\utils; |
|
|
|
|
|
|
|
class StringHelper |
|
|
|
{ |
|
|
|
static public function functionNameStrToArray($functionNameStr) |
|
|
|
{ |
|
|
|
|
|
|
|
$functionNameArray = null; |
|
|
|
$functionNameTemp = null; |
|
|
|
|
|
|
|
if ($functionNameStr != null) { |
|
|
|
|
|
|
|
$strLen = strlen($functionNameStr); |
|
|
|
/* |
|
|
|
检查字符串内不能包含 英文字母及“_” 以外的字符 |
|
|
|
*/ |
|
|
|
for ($i = 0; $i < $strLen; $i++) { |
|
|
|
|
|
|
|
if (!((ord($functionNameStr[$i]) >= 65) && (ord($functionNameStr[$i]) <= 122)) && ($functionNameStr[$i] != "_")) { |
|
|
|
echo '解析错误: 函数名称 存在非法字符 “' . $functionNameStr[$i] . '”' . "\n"; |
|
|
|
return null; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/* |
|
|
|
将函数名字符串,以大写的首字母为分割,转换成数组 |
|
|
|
*/ |
|
|
|
for ($i = 0; $i < $strLen; $i++) { |
|
|
|
|
|
|
|
$functionNameTemp[] = $functionNameStr[$i]; |
|
|
|
if (((ord(substr($functionNameStr, $i + 1, 1)) >= 65) && (ord(substr($functionNameStr, $i + 1, 1)) <= 90)) || ($i == $strLen - 1)) { |
|
|
|
$functionNameTemp = implode($functionNameTemp); |
|
|
|
$functionNameArray[] = $functionNameTemp; |
|
|
|
$functionNameTemp = null; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
return $functionNameArray; |
|
|
|
} else { |
|
|
|
echo '解析错误:函数名称字符串不能为空' . "\n"; |
|
|
|
return null; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 把驼峰命名字符串截成数组 |
|
|
|
*/ |
|
|
@ -62,48 +22,35 @@ class StringHelper |
|
|
|
*/ |
|
|
|
static public function arrayToString(&$tempArr) |
|
|
|
{ |
|
|
|
static $retStr = []; |
|
|
|
static $tempStr = []; |
|
|
|
static $i = 0; |
|
|
|
|
|
|
|
if( $i < 0 )//检查递归函数是 被外部调用还是 还是函数内部调用
|
|
|
|
{ |
|
|
|
$i = 0; |
|
|
|
$retStr = []; |
|
|
|
$tempStr = []; |
|
|
|
} |
|
|
|
|
|
|
|
$retStr = []; |
|
|
|
foreach($tempArr as $key => $value) |
|
|
|
{ |
|
|
|
if(is_array($value)) |
|
|
|
{ |
|
|
|
$tempStr[$i] = "{$key}."; |
|
|
|
$i++; |
|
|
|
self::arrayToString($value); |
|
|
|
foreach( self::arrayToString($value) as $value ) |
|
|
|
{ |
|
|
|
$retStr[] = "{$key}.{$value}"; |
|
|
|
} |
|
|
|
} |
|
|
|
else if( is_string($value) ) |
|
|
|
{ |
|
|
|
if( mb_ereg('^[0-9]+$',str_replace('.','',str_replace(' ','',$value))) ) |
|
|
|
{ |
|
|
|
$tempStr[$i] = "{$key} = {$value}"; |
|
|
|
$retStr[] = "{$key} = {$value}"; |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
$tempStr[$i] = "{$key} = \"{$value}\""; |
|
|
|
$retStr[] = "{$key} = \"{$value}\""; |
|
|
|
} |
|
|
|
$retStr[] = implode($tempStr); |
|
|
|
|
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
$tempStr[$i] = "{$key} = {$value}"; |
|
|
|
$retStr[] = implode($tempStr); |
|
|
|
$retStr[] = "{$key} = {$value}"; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
$tempStr[$i] = null; |
|
|
|
$i--; |
|
|
|
return $retStr; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
?>
|