如何从输入中删除部分/不正确的标签?

时间:2013-08-13 04:53:58

标签: php strip-tags

我有一个删除html标签的脚本。它适用于某些情况,例如:

<p>Test</p>

<p><b>Test</b></p>

。这是我的剧本:

function safeStrip($text) {
    $text = preg_replace('/</', ' <', $text);
    $text = preg_replace('/>/', '> ', $text);
    $desc = strip_tags($text);
    $desc = preg_replace('/  /', ' ', $desc);
    return $desc;
}

但是如果用户输入

<pTest</p>

<p Test</p>

<p>Test/p>

.... 该脚本使我的字符串为空白。如果用户输入html标签(完整或不完整的标签)。该脚本将识别并删除。

2 个答案:

答案 0 :(得分:0)

尝试使用它,

$text = '<p>Test</p>';
echo strip_tags($text);

这有助于您删除HTML标记。

答案 1 :(得分:0)

如果您要删除所有标记strip_tags,那么该怎么做。如果您只想删除一些内容,请查看HTMLPurifier

就您的情况而言,<pTest</p><p Test</p>的预期结果是什么?