我想删除所有与起始 <p> 标记不匹配的标记。我有这样的:
preg_replace("/<(?!p)>/", "", $html);
但它不起作用。怎么了?
使用strip_tags()
,这就是它存在的目的。
$stripped = strip_tags( $str, '<p>' ); // Allow only paragraph tags
在这里演示:http ://codepad.org/NEUEBWg7
请注意,此功能不会触及允许标签上的属性。如果您正在过滤用户输入,请务必考虑诸如onclick
和更多属性可能被滥用以执行一些不正当行为。
strip_tags 是您所需要的。只需这样做:
$result=strip_tags($html,"<p>");