日期:2014-05-17  浏览次数:20543 次

php最小匹配用问号不管用?
PHP code
<?php
    $strr="<textarea>
a
b
c
</textarea>asdfasdf<textarea>
d
e
f</textarea>";
    $search="/<textarea>(.*)<\/textarea>?/is";
            preg_match_all($search,$strr,$m_arr);
            print_r($m_arr);
?>



这段代码,怎样实现,匹配出2个<textarea>?
现在的匹配结果是:
HTML code
 Array
(
    [0] => Array
        (
            [0] => <textarea>
a
b
c
</textarea>asdfasdf<textarea>
d
e
f</textarea>
        )
 
    [1] => Array
        (
            [0] => 
a
b
c
</textarea>asdfasdf<textarea>
d
e
f
        )
 
)




2个textarea只匹配成一个了。我那个正则应该怎样修改?

非常感谢!

------解决方案--------------------
$search="/<textarea>(.*)<\/textarea>/iUs";
------解决方案--------------------
$search="/<textarea>(.*?)<\/textarea>/iUs";
------解决方案--------------------
$search="/<textarea>(.*?)<\/textarea>/is";
------解决方案--------------------
$search="/<textarea>(.*?)<\/textarea>/is";楼上很多正解……?加在*后面才是最小匹配,而不是最后面