0

我有一个删除 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 标签(完整或不完整的标签)。该脚本将识别并删除。

4

2 回答 2

0

如果要删除所有标签strip_tags是要走的路。如果您只想删除一些,请查看HTMLPurifier

至于您的情况, 和 的预期结果是<pTest</p>什么<p Test</p>

于 2013-08-13T05:33:06.297 回答
0

尝试使用这个,

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

这将帮助您删除 HTML 标记。

于 2013-08-13T04:59:37.827 回答