使用PHP删除打开的HTML注释

使用PHP删除打开的HTML注释,php,html,strip-tags,Php,Html,Strip Tags,我正在用php打印聊天日志。因为它是一个聊天日志,所以可以有用户输入 我想防止文件中出现任何,该“文本”不会被回显 我不知所措,因为条纹标签应该能解决这个问题 我怀疑我的代码中存在允许此操作的错误 while(!feof($lfile)) { $line = fgetss($lfile); $lineclean = strip_tags($line); echo $lineclean . "<br>"; } while(!feof($lfile)){ $line=fgetss(

我正在用php打印聊天日志。因为它是一个聊天日志,所以可以有用户输入

我想防止文件中出现任何
,该“文本”不会被回显

我不知所措,因为条纹标签应该能解决这个问题

我怀疑我的代码中存在允许此操作的错误

while(!feof($lfile)) {
$line = fgetss($lfile);
$lineclean = strip_tags($line);
  echo $lineclean . "<br>";
}
while(!feof($lfile)){
$line=fgetss($lfile);
$lineclean=带标签($line);
echo$lineclean.“
”; }

很抱歉代码看起来很脏,我扩展了它以进行故障排除。

您可以传递所有内容,所有内容都将完全按照读取的内容呈现。这还可以防止XSS攻击和其他恶意字符串。

Strip_标记对我很有用<代码>这是来自
$lineclean=strip_标签(“这是文本”)的文本
你能在输入上发布一个示例吗?我想问题在于输入来自哪里,但我不确定。如果您注意到,strip函数正在使用来自fgetss的直接输入。我将fgetss改为fgets,它不再可以用一个打开的html注释标记注释掉整个文件,但它仍然注释行的其余部分。如果您希望注释内容本身没有注释标记,我认为strip_标记对您不起作用-注意:HTML注释和PHP标记也被剥离。这是硬编码的,不能用允许的标记进行更改。“-您不应该从用户的输入中删除内容。相反,您应该在输出时正确地转义。例如,replace
@Paulpro是正确的,尽管我可能会建议(请参阅)。