<>
<tr><td>12345</td></td>54321</td></tr>
</>preg_match_all("/<\s*>\s*(.*)\s*<\/>/",$txt,$tar);这是我写的匹配运行的结果
$tar[0]=<><tr><td>12345</td></td>54321</td></tr></>
$tar[1]=<tr><td>12345</td></td>54321</td></tr>一切看似没问题,正是我想要的结果。。但是,一旦写成<tr><td>12345</td>
</td>54321</td></tr>
也就是说,如果有换行符,句点号就不匹配了,,式子也就无效了。。我you写成preg_match_all("/<\s*>\s*[\s\S]*\s*<\/>/",$txt,$tar) 这个的形式,匹配了整条语句,我需要的,但是<tr><td>12345</td></td>54321</td></tr>
这个不匹配了。。打印分别是
第一次
array(2) {
[0]=>
array(1) {
[0]=>
string(51) "<><tr><td>12345</td></td>54321</td></tr></>"
}
[1]=>
array(1) {
[0]=>
string(38) "<tr><td>12345</td></td>54321</td></tr>"
}
}
第二次
array(1) {
[0]=>
array(1) {
[0]=>
string(51) "<><tr><td>12345</td></td>54321</td></tr></>"
}
}
求解惑,,谁能写出这个正则
<tr><td>12345</td></td>54321</td></tr>
</>preg_match_all("/<\s*>\s*(.*)\s*<\/>/",$txt,$tar);这是我写的匹配运行的结果
$tar[0]=<><tr><td>12345</td></td>54321</td></tr></>
$tar[1]=<tr><td>12345</td></td>54321</td></tr>一切看似没问题,正是我想要的结果。。但是,一旦写成<tr><td>12345</td>
</td>54321</td></tr>
也就是说,如果有换行符,句点号就不匹配了,,式子也就无效了。。我you写成preg_match_all("/<\s*>\s*[\s\S]*\s*<\/>/",$txt,$tar) 这个的形式,匹配了整条语句,我需要的,但是<tr><td>12345</td></td>54321</td></tr>
这个不匹配了。。打印分别是
第一次
array(2) {
[0]=>
array(1) {
[0]=>
string(51) "<><tr><td>12345</td></td>54321</td></tr></>"
}
[1]=>
array(1) {
[0]=>
string(38) "<tr><td>12345</td></td>54321</td></tr>"
}
}
第二次
array(1) {
[0]=>
array(1) {
[0]=>
string(51) "<><tr><td>12345</td></td>54321</td></tr></>"
}
}
求解惑,,谁能写出这个正则
$str = <<<eof
<>
<tr><td>12345</td></td>54321</td></tr>
</>
eof;
$str = <<<eof
<>
<tr>
<td>12345</td>
<td>54321</td>
</tr>
</>
eof;
preg_match('/<[^>]*>(.*?)<\/>/is',$str,$match);
print_r($match);
/s 是对“.”的匹配扩展,使之匹配所有字符 包括换行符(.*?)是非贪婪的,preg_match('/<[^>]*>(.*?)<\/>/is',$str,$match);
匹配的顺序是,从<mar...>开始一直到</>结束 中间的任意字符。(.*)是贪婪墓室 preg_match('/<[^>]*>(.*?)<\/>/is',$str,$match);
匹配的顺序是:从<mar...>开始一直到最后一个</>结束 中间的任意字符