用 str_replace 去掉所有 \r,\n,\t,空格
用str_replace 取代 姓名\性别\民族\更新日期\户籍\年龄\婚姻状况\身高\现所在地\希望地区
在每个关键词前 加 \n
用 split 分割字符串, (\n)
OK~ 一行行的数据出现了 a_a||
再用strpos比对关键词就完成你要拿别人网站的数据吧…我经常做 =_=

解决方案 »

  1.   

    果然在这儿,我在PHPCHINA给你回复了
    顺便在这儿贴下<?php
    $str='姓        名:  刘小红  性  别:  女
    更新日期:  2007年03月13日  民  族:  汉族
    户        籍:  广东梅州  年  龄:  26
    婚姻状况:  未婚  身  高:  165cm
    现所在地:  广东广州
    希望地区:  广东广州    广东深圳
    求职意向:设计
    ';
    $reg = '/(\S+?|\S{2}\s*\S{2}):(.+?)(?=(?:\S+?|\S{2}\s*\S{2}):|\s*$)/s';
    preg_match_all($reg, $str, $arr);
    $arr2=array_combine($arr[1], $arr[2]);
    print_r($arr2);
    ?>
      

  2.   

    根据2楼的方法已经实现,贴代码如下:花了我2小时啊  辛苦啊  楼主一定要给分啊<?php
    $str='姓        名:  刘小红  性  别:  女
    更新日期:  2007年03月13日  民  族:  汉族
    户        籍:  广东梅州  年  龄:  26
    婚姻状况:  未婚  身  高:  165cm
    现所在地:  广东广州
    希望地区:  广东广州    广东深圳
    求职意向:设计
    ';
    $str = preg_replace ("/\s/", "", $str);
    $serch = '姓名\性别\更新日期\民族\户籍\年龄\婚姻状况\身高\现所在地\希望地区\求职意向';
    $serchs = explode("\\", $serch);
    foreach ($serchs as $value) {
    $replace = '|'.$value.'|';
    $str = str_ireplace($value,$replace,$str);
    }
    $str = str_ireplace(':','',$str);$strArr = explode("|",$str);
    array_shift($strArr);
    print_r($strArr);$var = 'perName\sex\updateTime\nationality\hometown\age\maritalStatus\height\location\hopeLc\qzyx';
    $varArr = explode('\\',$var);
    print_r($varArr);$i = 1;
    foreach ($varArr as $v) {
    $$v = $strArr[$i];
    echo $$v."\n";
    $i++;$i++;
    }
    echo $height;
    ?>
    调试结果:
    Array
    (
        [0] => 姓名
        [1] => 刘小红
        [2] => 性别
        [3] => 女
        [4] => 更新日期
        [5] => 2007年03月13日
        [6] => 民族
        [7] => 汉族
        [8] => 户籍
        [9] => 广东梅州
        [10] => 年龄
        [11] => 26
        [12] => 婚姻状况
        [13] => 未婚
        [14] => 身高
        [15] => 165cm
        [16] => 现所在地
        [17] => 广东广州
        [18] => 希望地区
        [19] => 广东广州广东深圳
        [20] => 求职意向
        [21] => 设计
    )
    Array
    (
        [0] => perName
        [1] => sex
        [2] => updateTime
        [3] => nationality
        [4] => hometown
        [5] => age
        [6] => maritalStatus
        [7] => height
        [8] => location
        [9] => hopeLc
        [10] => qzyx
    )
    刘小红

    2007年03月13日
    汉族
    广东梅州
    26
    未婚
    165cm
    广东广州
    广东广州广东深圳
    设计
    165cm
      

  3.   

    <?php
    $str='姓        名:  刘小红  性  别:  女  
    更新日期:  2007年03月13日  民  族:  汉族  
    户        籍:  广东梅州  年  龄:  32  
    婚姻状况:  未婚  身  高:  165cm  
    现所在地:  广东广州  
    教育/培训 
    1996-09 ~2000-07   中南财经大学 会计 本科 
    2005/06--2005/06     厦门大学会计学院              IAS 与 China GAAP 之比较 
    2004/08--2004/08     SAP HK Agent                SAP operation training 
    2003/05--2003/06     麦肯锡中国                    6希格玛管理黑带培训 
    2002/05--2002/05     中国农发行总行                银行信贷风险防范培训 
    2001/04--2001/04  湖北省cpa协会cpa后续教育培训   新会计准则学习
    希望地区:  广东广州    广东深圳      
    求职意向:设计';
    $reg = '/(\S+?:|\S{2}\s*\S{2}:|教育\/培训)(.+?)(?=教育\/培训|(?:\S+?|\S{2}\s*\S{2}):|\s*$)/s';
    preg_match_all($reg, $str, $arr);
    array_walk($arr[1], 'trim_key');
    $arr2=array_combine($arr[1], $arr[2]);
    function trim_key(&$key){
        $key = mb_ereg_replace(':','',mb_ereg_replace('\s','',$key));
    }//print_r($arr2);
    echo $arr2['姓名'];  // 输出 刘小红?>