PHP 正则表达,如何取出HTML标签内的内容,不要标签名

$p = "%<div>(.*?)</div>%si";
我现在用上面这条可以取出<div>node</div>这样的内容,但我不想要<div></div>请问该怎样做?

假设你的内容为 $content = "你的内容";
思路如下:
用正则先匹配出<div>node</div>的内容,()直接以单元的形式就能匹配出不包含<div></div>的内容

$p = "%<div>(.*?)</div>%si";
//如果div之间是纯文本 那么语句改为:$p = "%<div>([^<]*?)</div>%si";比较合适
preg_match_all($p, $content, $arr);
print_r($arr[1]);追问

div标签内还会有其他标签

追答

你是什么想法,你是想讲所有的div标签对里面的内容获取个遍?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-26
strip_tags("你提取到的字体串");
第2个回答  推荐于2016-06-29
$string = 'xxxxx';

$p = "%<div>(.*?)</div>%si";
preg_match_all($p, $string, $arr);
print_r($arr[1]);本回答被提问者采纳
第3个回答  2013-08-26
取出来后,可以分割字符串,就可以了
第4个回答  2013-08-26
strip_tags($str)
相似回答