标题: 怎么获取我想要的字符串啊.
yiguangnian
新手上路
Rank: 1



UID 14905
精华 0
积分 0
帖子 8
翻译 0
原创 0
阅读权限 10
注册 2010-1-20
状态 离线
发表于 2010-2-9 17:11  资料  短消息  加为好友 
怎么获取我想要的字符串啊.

从数据库取出来一字符串.如下:

a:5:{s:8:"shop_url";s:26:"http://192.168.1.21/shope/";s:7:"address";s:6:"广州";s:9:"telephone";s:11:"15818486852";s:8:"zip_code";s:6:"528930";s:5:"email";s:1:123@qq.com;}


我要获取的字符串:
shop_url http://192.168.1.21/shope/";s:7:"address 广州 telephone 15818486852 zip_code 528930 email 123@qq.com

怎么实现啊..

顶部
yiguangnian
新手上路
Rank: 1



UID 14905
精华 0
积分 0
帖子 8
翻译 0
原创 0
阅读权限 10
注册 2010-1-20
状态 离线
发表于 2010-2-9 17:12  资料  短消息  加为好友 
请高手帮我一下啊..

顶部
yiguangnian
新手上路
Rank: 1



UID 14905
精华 0
积分 0
帖子 8
翻译 0
原创 0
阅读权限 10
注册 2010-1-20
状态 离线
发表于 2010-2-9 23:06  资料  短消息  加为好友 
继续顶......

顶部
rainbird
新手上路
Rank: 1



UID 14321
精华 0
积分 0
帖子 1
翻译 0
原创 0
阅读权限 10
注册 2009-12-28
状态 离线
发表于 2010-2-10 13:43  资料  短消息  加为好友  添加 rainbird 为MSN好友 通过MSN和 rainbird 交谈
很简单的字符串操作,下面的方法只用了字符串操作,不过我觉得你的s:xx应该有特殊含义,你应该根据这个来处理这个字符串

$str = 'a:5:{s:8:"shop_url";s:26:"http://192.168.1.21/shope/";s:7:"address";s:6:"广州";s:9:"telephone";s:11:"15818486852";s: 8:"zip_code";s:6:"528930";s:5:"email";s:1:123@qq.com;}';
foreach(explode(';',substr($str,5,-2)) as $tmp_data){
    $tmp_array = explode('"',$tmp_data);
    if(count($tmp_array) == 1){
        echo substr($tmp_array[0],strrpos($tmp_array[0],':')+1);
    }   
    else{
        echo $tmp_array[1];
    }   
    echo "\n";
}

shop_url
http://192.168.1.21/shope/
address
广州
telephone
15818486852
zip_code
528930
email
123@qq.com

顶部
yiguangnian
新手上路
Rank: 1



UID 14905
精华 0
积分 0
帖子 8
翻译 0
原创 0
阅读权限 10
注册 2010-1-20
状态 离线
发表于 2010-2-11 10:14  资料  短消息  加为好友 
可能我没有说清楚..这字符串好像是序列化后得出来的..可是又有点不一点.反序列化后得不到想要的字符串.

顶部
 


PHPEye开源社区


当前时区 GMT+8, 现在时间是 2010-3-14 11:47

    Powered by Discuz! 5.5.0  © 2001-2007 Comsenz Inc.
Processed in 0.028470 second(s), 8 queries , Gzip enabled

清除 Cookies - 联系我们 - PHPEye开源社区 - Archiver