高手帮我匹配个PHP正则

来源:百度知道 编辑:UC知道 时间:2024/07/02 10:34:01
<{LIST(10011002,10,0,0)}>
<tr>
<td width="100"> </td>
<td> </td>
<tr>
<{/LIST}>

怎么匹配<{...}>..<{/..}>
这样的呢
/<{[^}>]+}>[.\n]*<{\/[^}>]+}>/
我写的这个错在哪里?运行匹配不了挖??
<table width="600" border="1" align="center" cellpadding="1" cellspacing="1">
<{list(10011002,10,0,0)}>
<tr>
<td width="100"><{list:id}></td>
<td><{list:title}></td>
</tr>
<{/list}>
</table>

<table width="600" border="1" align="center" cellpadding="1" cellspacing="1">
<{list(10011002,10,0,0)}>

<?PHP
$a= '<{ff(10011002,10,0,0)}>
<tr>
<td width="100"><{LIST:id}></td>
<td><{LIST:title}></td>
</tr>
<{/ff}> ';

if (preg_match("/<{([^(]+?)([^}]*)}>((.|\s)*)<{\/([^}]+)}>/i", $a,$b)){
var_dump($b) ;
}
?>

通过测试

匹配多行内容,需要增加m修饰,正则表达式为:/..../m

对你的正在表达式,我没有详细的分析,因为你里面没有小括号,不知道你需要提取什么内容。