标签之间的preg_replace标签
问题描述:
我试图替换介于pre标签之间的html标签。这就是我想做的事情:标签之间的preg_replace标签
$str = '<pre><div>Get<p>rid</p> of html tags</div></pre>';
$str = preg_replace('#(<pre.*?>)/<[^<>]+>/(</pre>)#', '$1$2', $str);
echo $str;
应该有,responed预标签
我知道一个事实,“摆脱html标签”中指出,
$str = preg_replace('#(<pre.*?>).*?(</pre>)#', '$1$2', $str);
作品,但是用空的预标签进行响应。
我只需要删除前标签之间的所有html标签。
答
以下是我会做:
$str = preg_replace_callback("#(<pre[^>]*>).*?</pre>#is",function($m) {
return $m[1].strip_tags($m[0])."</pre>";
},$str);
答
$str = '<pre><div>Get<p>rid</p> of html tags</div></pre>';
if(preg_match("/<pre>(.+?)<\/pre>/i", $str,$res))
{
$str=strip_tags($res[1]);
}
echo $str;
谢谢!我希望我早点来这里,会为我节省5个小时:D – user2067005 2013-02-13 04:20:14