Exemplo n.º 1
0
 public static function AProcess($sText)
 {
     $rules = array();
     foreach (self::_aText2Array($sText) as $pattern => $rewrited) {
         Ko_Tool_Array::VOffsetSet($rules, $pattern, $rewrited, '/');
     }
     return $rules;
 }
Exemplo n.º 2
0
 /**
  * 将数据按照指定的规则来进行适配
  * 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;
 }