<<新建类别1>>111<http://www.111.com>222<http://222.com><<新建类别2>>333<http://www.333.com>444<http://444.com>我们知道象图片里这样子的数据获取可以用正则或者explode()函数来取出数, 把 “ 新建类别1  111  http://111.com”分离出来输出类似于这样子的效果:(具体可以看 http://www.phpx.com/happy/viewthread.php?tid=135567)
QUOTE:
Array ( [0] => 新建类别1 [1] => 新建类别2 ) 
Array ( [0] => 111 [1] => 222 [2] => 444 [3] => 555 ) 
Array ( [0] => http://111.com [1] => http://222.com [2] => http://444.com )
但是按照上面的显示的数据,他们之间的关系就已经无法对应了。大家还要考虑一个情况是 如何让他们的用最简明的关系对应起来呢?比如在这幅图片里的数据,我的 111 对应的网址是 http://111.com, 333 对应的网址是 http://333.com ,而这2个(具体情况可能是N个)附带超连接的111和333又属于 新建类别1 (类别的个数具体情况也可能是N个,但是他们的排序方式都是按照图片里很有规律的输出了)以此类推大家可以讨论下这类数据在截取后如何用最简明的关系把他们对应起来。。存储在数据库中 PHP调用出来很方便
补充一点:返回的数据除了图片中的格式外,也可以是类似于:
类别1,111,http://hao123.com; 类别2,222,http://163.com/; 类别3,333,http://126.com/; 
这种规律的,反正怎么方便就怎么做!

解决方案 »

  1.   

    参考:
    ==========================================
    $str = '<<新建类别1>>111<http://www.111.com>222<http: //222.com><<新建类别2>>333<http://www.333.com>444< http://444.com>';
    $sp  = '<>';
    $sk = strtok($str,$sp);
    $s = '';
    while($sk !== false)

    $t = substr($sk,0,8) == '新建类别' ? ';' : ',';
    $s .= $t.$sk;
    $sk = strtok($sp);
    }
    $s = trim($s,';');
    echo $s.'<br>';