>>看清楚点
谢谢你的帮忙,但希望先理解题目的意思,并且,用词可以稍微缓和点。很明显,在这里,[0]所期望的,所指的是正则表达式的匹配选项,第一个[0]是匹配记录,第二维数组匹配的才是正则表达式匹配选项。

解决方案 »

  1.   

    这个不能用于preg_replace或preg_split。因为这个正则的匹配其实永远为空。取得的数据实际上是从正向预查中得到的。
      

  2.   

    #(?=((<(table)[^>]*>)((?:(?:[^<]|<(?!table))*?|(?1))*)(</table>)))#is
    你正则后面多了个e
    #(这个地方才是要替换的匹配项,也就是结果里的[0][0],永远为空)(?=((<(table)[^>]*>)((?:(?:[^<]|<(?!table))*?|(?1))*)(</table>)))#is
      

  3.   

    谢谢,我明白了。能把这个改写成适用于preg_replace的吗?
    另外,?:到底起什么用的作用,我还不是很清楚,能解释下吗?