http://topic.csdn.net/u/20090703/13/517B5EE8-8215-42E8-A942-F6CE88684BFE.html你看一下这个贴子吧!

解决方案 »

  1.   

    没有任何帮助,我格式不固定,还是谢谢你
    不光
    <INPUT class=black value=@ size=30 name=email _extended=\"true\">
    还会有
    复选框,单选框,多行文本,下拉菜单等等但是这段字符串也有共同点的,都有name= class=等等
      

  2.   

    转化数组时,最好能出现一个name,就填一组记录,呼唤高手指点一下
      

  3.   

    你的INPUT很不规则。
    可以用如下代码,匹配出所有INPUT,然后再细分吧。
    <?php
       $data=file_get_contents("1.html");
       preg_match_all("/<INPUT(.*?)>/",$data,$result,PREG_SET_ORDER);          //提取分页信息
       print_r($result);
    ?>
      

  4.   

    补充,刚才的代码,执行后输出:
    Array
    (
        [0] => Array
            (
                [0] => <INPUT class=black value=@ size=30 name=email _extended=\"true\">
                [1] =>  class=black value=@ size=30 name=email _extended=\"true\"
            )    [1] => Array
            (
                [0] => <INPUT class=black name=tel _extended=\"true\">
                [1] =>  class=black name=tel _extended=\"true\"
            ))你可以对$result[$i][1]进行空格和“=”的匹配拆分,得到每个字段和值。
      

  5.   

    补充,<input只是一部分
    还有
    <TEXTAREA class=black cols=30 name=address _extended=\"true\"></TEXTAREA>
      

  6.   

    我自己修改的代码,已经很接近我要的结果了
    $htmlcode=$_POST["htmlcode"];
    preg_match_all("/name=(.*?) /", $htmlcode, $matches); print_r($matches);输出结果:(重复了一次,帮看看怎么修改一下,我就好用了,谢谢大家了)
    Array ( [0] => Array ( [0] => name=address [1] => name=email [2] => name=xingqu [3] => name=relname [4] => name=sex ) [1] => Array ( [0] => address [1] => email [2] => xingqu [3] => relname [4] => sex ) )