我可以在html页面</script>中显示<! - ?PHP? - >,<script>标签

时间:2011-11-19 10:23:09

标签: php mysql html

我正在尝试开发一个应用程序问题论坛,用户可以在其中提交答案。但我已经陷入了一个地方,

我有一个textarea接受用户输入,用户可以输入他们想要的任何内容,包括html标签,脚本标签,php标签。并将其存储在数据库中。之后,当我获取数据时,我在标签内显示它。

<div><?php echo $answere;?></div>

我的问题是,当用户在answer textarea中写入<?php ?> tag or <script>标签时,它会在数据库中正确保存,但它没有显示任何内容。

当我在textarea中获取并包装我的数据库保存的答案时,它显示正确的结果。

示例:

如果有人在回答textarea

中写下文字
<?php
 // SOME CODE
?>

结果

在div里面它没有显示任何内容。

在textarea区域内,它显示出正确的结果。

注意:我没有使用htmlentities(),html_entity_decode()

有人能指出我的方向吗?任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:6)

答案 1 :(得分:2)

您可以使用PHP的原生highlight_string

echo highlight_string($code);

有关详细信息,请查看此处的文档:http://fi.php.net/manual/en/function.highlight-string.php

对于JavaScript,您需要找到一个用于突出显示代码的插件,但如果您只想显示未突出显示的代码,则可以使用htmlspecialchars()

PHP的一个这样的插件是GeSHi,除了JavaScript之外还支持不同的语言。