<?php
$mode="/q/";
$thing="qsqsqsdqqqsqsqqq";if(preg_match($mode,$thing,$array)){
    echo "匹配成功!".$array[0];
    echo "<hr>";
}else{
    echo "匹配失败!";
}
?>
以上代码我想实现取出,取出$thing中的每个q,但$array[0]这能取出第一个q,如何取出其他的q,一并输出。在线等候……

解决方案 »

  1.   

    preg_match -> preg_match_all
      

  2.   

    <?php
    $mode="/q/";
    $thing="qsqsqsdqqqsqsqqq";if(preg_match_all($mode,$thing,$array)){
    /*****看看匹配所有的q*/
    echo "<pre>";
    print_r($array[0]);
    echo "</pre>";
    /*********************/
    foreach($array[0] as $value)
    {
     echo "匹配成功!".$value."<br />";
    }
        echo "<hr>";
    }else{
        echo "匹配失败!";
    }
    ?>
      

  3.   

    既然有人回答了,我就不贴代码了。其实楼主应该多翻下手册,preg_match只会抓取到第一个匹配的就返回了,而preg_match_all会匹配所有符合条件的数据存储到第3个参数的数组里返回。
      

  4.   

    preg_match  取到一次就返回preg_match_all  搜索整个串匹配
      

  5.   

    preg_match 改成 preg_match_all