使strip_tags用实体替换HTML而不是任何东西

时间:2012-07-26 22:20:19

标签: php regex

我有这行代码:

$content = strip_tags($content, '<a><br><b><i>');

它的工作原理应该如此,但我需要用户能够输入代码并在网页上显示代码。
例如,

<?php
echo 'Hey';
?>

什么都不显示。我需要它来显示

&lt;?php
echo 'Hey';
?&gt;
例如,

。我应该用什么功能来做这件事?
编辑:为了澄清,用户看到PHP代码,它只是被HTML实体替换,所以服务器不会尝试运行它。

1 个答案:

答案 0 :(得分:5)

尝试:

$content = htmlspecialchars(strip_tags($content, '<a><br><b><i>'));

或者

$content = htmlentities(strip_tags($content, '<a><br><b><i>'), ENT_QUOTES);

请参阅htmlspecialcharshtmlentities