public static function AProcess($sText) { $rules = array(); foreach (self::_aText2Array($sText) as $pattern => $rewrited) { Ko_Tool_Array::VOffsetSet($rules, $pattern, $rewrited, '/'); } return $rules; }
/** * 将数据按照指定的规则来进行适配 * rule支持的基本数据类型: * boolean, integer, float, string, list, hash * 使用 any 来表示任意类型 * 如: * Ko_Tool_Adapter::VConv($data, 'boolean'); * Ko_Tool_Adapter::VConv($data, 'string'); * Ko_Tool_Adapter::VConv($data, 'userlogo'); //自定义类型,需要调用 VOn 来添加处理函数 * Ko_Tool_Adapter::VConv($data, array('list', 'string')); //列表中全部数据转为字符串 * Ko_Tool_Adapter::VConv($data, array('hash', array( * 'email' => 'string', * 'isverify' => 'boolean', * 'education' => array('list', array('hash', array( * 'stime' => 'string', * 'etime' => 'string', * 'college' => 'string', * ))), * 'userinfo' => 'userbasicinfo', //自定义类型 * 'logo16' => array('userlogo', '16'), //带参数的自定义类型 * 'userdata' => 'any', * ))); */ public static function VConv($vData, $vRule) { $aBatchData = array(); self::_VConv($vData, $vRule, $aBatchData, self::SPLIT); foreach ($aBatchData as $sType => $data) { if (isset(self::$s_aConvFunc[$sType])) { $ret = call_user_func(self::$s_aConvFunc[$sType], $data); foreach ($ret as $k => $v) { if (self::SPLIT === $k) { $vData = $v; } else { Ko_Tool_Array::VOffsetSet($vData, substr($k, self::SPLIT_LEN, -self::SPLIT_LEN), $v, self::SPLIT); } } } } return $vData; }