2011-11-19 32 views
1

我正在尝试开发一个应用程序问题论坛,用户可以在其中提交答案。但我坚持在一个地方,我可以在html页面显示<?PHP ?>,<SCRIPT>标签

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

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

我的问题是,当用户写在回答textarea的<?php ?> tag or <script>标签,它变得正确保存在数据库中,但它深藏不露。

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

例子:

如果有一个人写文字下面回答textarea的

<?php 
// SOME CODE 
?> 

结果

里面的div它是深藏不露。

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

注:我没有使用ヶ辆(),html_entity_decode()

任何人都可以点我的权利我的方向吗?任何帮助将不胜感激。

+4

你**的**是我说的答案。当你希望原始html在你的html页面中显示为纯文本时,你应该*使用'htmlspecialchars()'。 – mario

+1

但是他的笔记是关于实体的,而不是特殊字符 –

回答

2

您可以使用PHP的原生highlight_string

echo highlight_string($code); 

欲了解更多信息,看看文档在这里:http://fi.php.net/manual/en/function.highlight-string.php

对于JavaScript,你需要找到高亮插件代码,但是如果你只是想显示不高亮的代码,那么你可以使用htmlspecialchars()

一个用于PHP的插件是GeSHi,除JavaScript之外,它还支持多种不同的语言。

+0

谢谢先生的帮忙 –