/\<!--(.*?)--\>/is非贪婪模式

解决方案 »

  1.   

    To:geoh(素素) 
      搞不懂你为何要如此折腾呢?<!---a--->本来有的地方就用来做注释用的,你却又要把其中的内容提取出来。奇怪哈!
      

  2.   

    $s = 'fsdf<!--asfhoi<sda>hgp<!--ff<a href="aaa">a</a>=i-->hagds-->dsf<!--asfhikahdf-->askhflk<!--sadjfhasdhg-->asjfk<!--haois
    hf-->';
    preg_match("/<!--(((?!-->).)*)/is",$s,$m);
    echo $m[1];
      

  3.   

    看来分要规"Aylazhang(春暖花开) "了!呵呵!
    再顶一下!
      

  4.   

    正确答案应该是:
    /\<!--(((?!--\>).)*)--\>/is

    /\<!--(.*?)--\>/is
    看还有没其它的写法!谢谢各位了
    Aylazhang(春暖花开)能解释一下/\<!--(((?!--\>).)*)--\>/is这个的意思吗?
    我看到很多括号噢!
      

  5.   

    /\<!--(((?!--\>).)*)--\>/is解释:
    首先,< 与 > 不是特殊元字符,不需要转义。
    (?!--\>),这里的括号表示后顾
    ((?!--\>).) 这里的括号是语义上的,主要是为了优先级。
    (((?!--\>).)*) 最后这个括号是为了捕获,就是我例子里的$m[1]