很简单,因为中文编码导致的.
你用全码的*和&做匹配,本身就会出现问题.你可以查看一下,*海&是无法匹配的,原因就出现这个字上面.

解决方案 »

  1.   

    测试没问题啊
    [0] => Array
            (
                [0] => *阿郎的故事&
                [1] => *监狱风云Ⅱ&
                [2] => *江湖龙虎斗&
                [3] => *英雄本色Ⅲ&
                [4] => *秋天的童话&
                [5] => *英雄本色Ⅱ&
                [6] => *老虎出更&
                [7] => *精装追女仔&
                [8] => *辣手神探&
                [9] => *大丈夫日记A&
                [10] => *大丈夫日记B&
                [11] => *吉星拱照& //能匹配出来啊
                [12] => *纵横四海A&
                [13] => *纵横四海B&
                [14] => *英雄本色Ⅰ&
                [15] => *长短脚之恋&
                [16] => *和平饭店&
                [17] => *龙虎风云&
                [18] => *喋血双雄&
                [19] => *义胆红唇&
                [20] => *倾城之恋&
                [21] => *监狱风云Ⅰ&
                [22] => *赌神Ⅰ&
                [23] => *赌神Ⅱ&
                [24] => *江湖情A&
                [25] => *江湖情B&
                [26] => *英雄好汉&
                [27] => *杀妻2人组&
                [28] => *满城尽带黄金甲&
                [29] => *江湖龙虎斗&
                [30] => *精装追女仔II&
                [31] => *义盖云天&
                [32] => *公子多情&
                [33] => *姨妈的后现代生活&
                [34] => *侠盗高飞&
                [35] => *等待黎明A&
                [36] => *等待黎明B&
                [37] => *卧虎藏龙A&
                [38] => *卧虎藏龙B&
                [39] => *原振侠与卫斯理&
            )
      

  2.   

    楼上你的能匹配出来,是因为你的文件保存的是utf-8格式的吧?
      

  3.   

    试试这个呢 preg_match_all('/*(.+)&/Usi',$html,$out); 
      

  4.   

    可以了../Usi,这个是什么作用呢.转换编码?