PHP 如何解析字符串
程序员文章站
2022-06-13 22:31:05
...
PHP
php 如何解析这样的字符串
php 如何解析这样的字符串
首先,你想解析什么字符?达到什么目的?不说具体,很难具体回答你问题。
其次,php中解析字符串的函数特别多,功能也很丰富,基本上平时需求都能满足,你可以选用函数进行解析。参考http://www.w3school.com.cn/php/php_ref_string.asp。
{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分了