关于php使用正则表达式过滤table标签,包含里面的内容也一起过滤掉,注意table标签里面会含有其它属性

比如:
我要去
<table border="1" cellpadding="3" cellspacing="2" > //注意这里还有其它属性,如:bgcolor、width等
<tr><td>踢球</td></tr>
<tr><td>看电视</td></tr>
</table>
我想要得出的值是:我要去
请问用正则表达式 该怎么代表这整个table

第1个回答  2012-01-03
preg_match("/^(.*?)<table.*?<\/table>$/", $content, $match);
$match[]里面就有你要的内容

注意*符号的贪婪性,用?可以使之变懒惰追问

preg_match("/^(.*?)$/",$content,$matchs,PREG_OFFSET_CAPTURE);
print_r($matchs);

我使用这段代码 输出 是Array()
这是怎么回事

追答

亲测代码,肯定对的,要给分哦亲:
$/';
$content = '我要去 踢球看电视';
preg_match($pattern, $content, $match);
print_r($match[1]);
?>

第2个回答  2012-01-03
/<table.*<\/table>/追问

没有用么,过滤不掉

追答

匹配出来,然后用正则替换成空白字符
preg_replace这个函数能帮到你

追问

$content=preg_replace("//","",$content);
我就是这样过滤的

追答

久等了
/[^{]*?/sm
用这个匹配吧
刚刚没怎么思考就给你回答了,正则写错了,抱歉哈
这个对了,亲测~呵呵

本回答被提问者采纳
第3个回答  2012-01-03
cellpadding="3追问

有错吗

相似回答