-2

我用 htmlspecialchars 来清理网站评论,它变成<>了 html 特殊字符。但我还需要在评论中添加一些链接,就像这里一样。我认为像 perg_replace 这样的东西可以为 htmlspecialchars 设置一个例外,例如LINK]<a href="...">...</a>[/LINK]从 htmlspecialchars 中隐藏 [。我怎么能在php中做到这一点?或者有什么更好的方法来做到这一点?

4

2 回答 2

1

您可以使用以下代码:

$comment = preg_replace('/'.preg_quote('[link]','/').'(.*?)'.preg_quote('[/link]','/').'/eisU',"htmlspecialchars_decode('$1')", $comment);
于 2012-08-13T21:10:36.113 回答
1

我建议使用一个库来解析 BBCode 或类似的东西——一般来说,这会清理输入本身。一个快速的谷歌出现了NBBC,尽管这对于您的目的来说可能有点矫枉过正。你甚至不需要使用 BBCode,除非你已经下定决心 - 有非常好的用于Markdown之类的 PHP 库。

于 2012-06-12T21:40:46.260 回答