[game任意字符]要取得中间这个字符串[/game]

解决方案 »

  1.   

        if( preg_match("/\[game(.+?)\](.+?)\[\/game\]/is","[game任意字符]要取得中间这个字符串[/game]",$conn)){
         echo $conn[2];//2代表第二个括号
         }
      

  2.   

    不要换行什么意思?
    /\[game[^\]]+?\](.*)\[\/game\]/i
      

  3.   

    点号表示任意字符(除换行符),加号表示至少有一个,星号表示任意多个,问号表示一个或者零个。
    如果个数的后面还有个问号,表示非贪婪搜索(从左边开始处理字符串),没有则是贪婪搜索(从右边开始处理字符串)。上面那两个是非贪婪。
    一般用非贪婪的情况比较多,关于贪婪与非贪婪,自己用下面一段来做个实验就明白了。
    <a>xxx</a><a>yyy</a><a>zzz</a>
    以a标记为查找字符串。
    <a>.*</a>  贪婪
    <a>.*?</a>  非贪婪
      

  4.   

    <?php$str="<a>xxx </a> <a>yyy </a> <a>zzz </a> ";
    preg_match_all("/<a>.*?<\/a>/i",$str,$str2);
    print_r($str2);?>