如何使用带有preg_replace函数的php删除html标签

时间:2016-07-13 22:34:08

标签: php html

我正在使用php,我想知道如何删除这个html标签<div><p></p></div>

来自:

<div class="xxx" height="xxx" width="xxx">
    <iframe allowfullscreen="" class="xxx" frameborder="x" height="xxx" src="xxx" width="xxx"></iframe>
    <p height="xxx" width="xxx">&nbsp;</p>
</div>

到此:

<iframe allowfullscreen="" class="xxx" frameborder="x" height="xxx" src="xxx" width="xxx"></iframe>

我只想在<div><p></p></div>

时删除标签<div><iframe><p></p></div>

我尝试过使用preg_replace();功能

$html = preg_replace("'(<div[^>]*>)([^<]*<iframe[^>]*>[^<]*</iframe>[^<]*)(<p[^>]*>)(</p>)(</div>)'sim", "$2", $html);

但我无法得到它,请你帮助我,谢谢

1 个答案:

答案 0 :(得分:0)

为什么不简单地strip tags

$string = '<div class="xxx" height="xxx" width="xxx"><iframe allowfullscreen="" class="xxx" frameborder="x" height="xxx" src="xxx" width="xxx"></iframe><p height="xxx" width="xxx">&nbsp;</p></div>';
$newstring = strip_tags($string, '<iframe>');  
echo $newstring;

// This will output:
<iframe allowfullscreen="" class="xxx" frameborder="x" height="xxx" src="xxx" width="xxx"></iframe><p height="xxx" width="xxx">&nbsp;