PHP 如何解析字符串

原创
2016-06-23 14:19:41 626浏览

PHP

{data_sell,11001,reputation,38200,{sell_reward,0,0,0,0,[],0,[{new_ger,11402,1,0}]},1,-1}.{data_sell,11002,reputation,11900,{sell_reward,0,0,0,0,[],0,[{new_ger,11403,1,0}]},1,-1}.{data_sell,11003,reputation,11050,{sell_reward,0,0,0,0,[],0,[{new_ger,11405,1,0}]},1,-1}.{data_sell,11004,reputation,40000,{sell_reward,0,0,0,0,[],0,[{new_ger,11401,1,0}]},1,-1}.{data_sell,11005,reputation,11050,{sell_reward,0,0,0,0,[],0,[{new_ger,11406,1,0}]},1,-1}.{data_sell,11006,reputation,11050,{sell_reward,0,0,0,0,[],0,[{new_ger,11407,1,0}]},1,-1}.{data_sell,11007,reputation,10000,{sell_reward,0,0,0,0,[],0,[{new_ger,11410,1,0}]},1,-1}.{data_sell,11008,reputation,9600,{sell_reward,0,0,0,0,[],0,[{new_ger,11412,1,0}]},1,-1}.{data_sell,11009,reputation,10650,{sell_reward,0,0,0,0,[],0,[{new_ger,11408,1,0}]},1,-1}.{data_sell,11010,reputation,8150,{sell_reward,0,0,0,0,[],0,[{new_ger,11415,1,0}]},1,-1}.{data_sell,11011,reputation,34600,{sell_reward,0,0,0,0,[],0,[{new_ger,11414,1,0}]},1,-1}.{data_sell,11012,reputation,10000,{sell_reward,0,0,0,0,[],0,[{new_ger,11411,1,0}]},1,-1}.{data_sell,11013,reputation,34000,{sell_reward,0,0,0,0,[],0,[{new_ger,11409,1,0}]},1,-1}.{data_sell,11014,reputation,9600,{sell_reward,0,0,0,0,[],0,[{new_ger,11413,1,0}]},1,-1}.{data_sell,11015,reputation,11600,{sell_reward,0,0,0,0,[],0,[{new_ger,11404,1,0}]},1,-1}.{data_sell,11016,reputation,12500,{sell_reward,0,0,0,0,[],0,[{new_ger,12406,1,0}]},1,-1}.{data_sell,11017,reputation,39400,{sell_reward,0,0,0,0,[],0,[{new_ger,12401,1,0}]},1,-1}.{data_sell,11018,reputation,34000,{sell_reward,0,0,0,0,[],0,[{new_ger,12414,1,0}]},1,-1}.{data_sell,11019,reputation,13200,{sell_reward,0,0,0,0,[],0,[{new_ger,12402,1,0}]},1,-1}.{data_sell,11020,reputation,13050,{sell_reward,0,0,0,0,[],0,[{new_ger,12404,1,0}]},1,-1}.{data_sell,11021,reputation,38800,{sell_reward,0,0,0,0,[],0,[{new_ger,12403,1,0}]},1,-1}.{data_sell,11022,reputation,12800,{sell_reward,0,0,0,0,[],0,[{new_ger,12405,1,0}]},1,-1}.{data_sell,11023,reputation,10150,{sell_reward,0,0,0,0,[],0,[{new_ger,12413,1,0}]},1,-1}.{data_sell,11024,reputation,11450,{sell_reward,0,0,0,0,[],0,[{new_ger,12411,1,0}]},1,-1}.{data_sell,11025,reputation,12550,{sell_reward,0,0,0,0,[],0,[{new_ger,12407,1,0}]},1,-1}.

php 如何解析这样的字符串


回复讨论(解决方案)

{data_sell,11001,reputation,38200,{sell_reward,0,0,0,0,[],0,[{new_ger,11402,1,0}]},1,-1}.{data_sell,11002,reputation,11900,{sell_reward,0,0,0,0,[],0,[{new_ger,11403,1,0}]},1,-1}.{data_sell,11003,reputation,11050,{sell_reward,0,0,0,0,[],0,[{new_ger,11405,1,0}]},1,-1}.{data_sell,11004,reputation,40000,{sell_reward,0,0,0,0,[],0,[{new_ger,11401,1,0}]},1,-1}.{data_sell,11005,reputation,11050,{sell_reward,0,0,0,0,[],0,[{new_ger,11406,1,0}]},1,-1}.{data_sell,11006,reputation,11050,{sell_reward,0,0,0,0,[],0,[{new_ger,11407,1,0}]},1,-1}.{data_sell,11007,reputation,10000,{sell_reward,0,0,0,0,[],0,[{new_ger,11410,1,0}]},1,-1}.{data_sell,11008,reputation,9600,{sell_reward,0,0,0,0,[],0,[{new_ger,11412,1,0}]},1,-1}.{data_sell,11009,reputation,10650,{sell_reward,0,0,0,0,[],0,[{new_ger,11408,1,0}]},1,-1}.{data_sell,11010,reputation,8150,{sell_reward,0,0,0,0,[],0,[{new_ger,11415,1,0}]},1,-1}.{data_sell,11011,reputation,34600,{sell_reward,0,0,0,0,[],0,[{new_ger,11414,1,0}]},1,-1}.{data_sell,11012,reputation,10000,{sell_reward,0,0,0,0,[],0,[{new_ger,11411,1,0}]},1,-1}.{data_sell,11013,reputation,34000,{sell_reward,0,0,0,0,[],0,[{new_ger,11409,1,0}]},1,-1}.{data_sell,11014,reputation,9600,{sell_reward,0,0,0,0,[],0,[{new_ger,11413,1,0}]},1,-1}.{data_sell,11015,reputation,11600,{sell_reward,0,0,0,0,[],0,[{new_ger,11404,1,0}]},1,-1}.{data_sell,11016,reputation,12500,{sell_reward,0,0,0,0,[],0,[{new_ger,12406,1,0}]},1,-1}.{data_sell,11017,reputation,39400,{sell_reward,0,0,0,0,[],0,[{new_ger,12401,1,0}]},1,-1}.{data_sell,11018,reputation,34000,{sell_reward,0,0,0,0,[],0,[{new_ger,12414,1,0}]},1,-1}.{data_sell,11019,reputation,13200,{sell_reward,0,0,0,0,[],0,[{new_ger,12402,1,0}]},1,-1}.{data_sell,11020,reputation,13050,{sell_reward,0,0,0,0,[],0,[{new_ger,12404,1,0}]},1,-1}.{data_sell,11021,reputation,38800,{sell_reward,0,0,0,0,[],0,[{new_ger,12403,1,0}]},1,-1}.{data_sell,11022,reputation,12800,{sell_reward,0,0,0,0,[],0,[{new_ger,12405,1,0}]},1,-1}.{data_sell,11023,reputation,10150,{sell_reward,0,0,0,0,[],0,[{new_ger,12413,1,0}]},1,-1}.{data_sell,11024,reputation,11450,{sell_reward,0,0,0,0,[],0,[{new_ger,12411,1,0}]},1,-1}.{data_sell,11025,reputation,12550,{sell_reward,0,0,0,0,[],0,[{new_ger,12407,1,0}]},1,-1}.

php 如何解析这样的字符串

首先,你想解析什么字符?达到什么目的?不说具体,很难具体回答你问题。
其次,php中解析字符串的函数特别多,功能也很丰富,基本上平时需求都能满足,你可以选用函数进行解析。参考http://www.w3school.com.cn/php/php_ref_string.asp。

貌似是想解析为数组

mark关注下ia

如果想把上述字符串解析为数组的话,要是我来做,我会:
1.把上述字符串储存为一个数组;
2.计算该数组(或字符串)的长度;
3.采用循环(for,while等),依次判断每个字符,分辨出{},_[] 数字和字母;
4.把解析的结果依次用多维数组记录下来;
5.对这些数组,你就可以尽情使用了。

上面所涉及到的字符串函数在我给出的链接网页上都有。

function parseConf($id){        static $configList = array();        if(empty($configList)){            $path =  FCPATH.APPPATH.'config/data_sell.config';            if (file_exists($path )) {               $handle = fopen($path, "r");                while (!feof($handle)) {                    $buffer = fgets($handle);                    preg_match('/\{data_sell,(\d+),.*\{new_item,(\d+),/',$buffer,$match_array);                    if($match_array[1] && $match_array[2]){                        $configList[$match_array[1]] = $match_array[2];                    }                }                fclose($handle);            }        }        if(isset($configList[$id])){            return $configList[$id];        }        return null;    }

3楼的哥们,送你100分了

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。