2011-03-27 182 views
1

我在网页中有一个多行输入文本框,并希望所有输入的文本更新页面中的另一个文本区域。我将如何最好地实现这一目标?目前,我认为当你提交表单时,php会将输入写入一个小文本文件,然后嵌入到页面中。HTML表单输入更新

但是,我需要对此进行清理,以便人们不注入html。另外,是否需要为输入框中的每一行添加<p>...</p>标签?

谢谢。

+1

您是否需要将其保存在页面上以供同一用户,多个用户或仅用于该页面实例的后续视图? – wag2639 2011-03-27 08:36:32

+1

更新后的文本是否需要存储在数据库中,还是可供未来使用? – Chris 2011-03-27 08:37:41

+0

输入存储到一个小文本文件,以便每当其他人查看另一个页面时,它显示该消息。所以应该保存,直到再次更新。 – Mark 2011-03-27 12:26:30

回答

0

你做什么取决于你的要求。您一定要使用htmlspecialchars()strip_tags()来取消任何错误的HTML。之后,你可以简单地使用nl2br()插入一些<BR>空间的一切,或者你可以explode()你的字符串,并添加<p>标签。

0

根据更新的保存方式(只是那个实例,永久为那个用户或者永久为所有用户),选项范围从Javascript/Jquery简单地更新其他文本区域到AJAX调用一个php后端脚本清理并保存更新。

对于<p>,您可以使用Javascript根据换行符进行拆分(),然后使用for循环将每个元素添加为<p>text</p>。这个概念应该适用于任何语言。

0

这取决于你想要完成什么。这是一种类型的博客条目,其中已经存在的文本仍然存在,并且您输入的内容被追加了吗?所有的文字都被替换了吗?将需要其他地方,除了此页面上的这段文字(数据库,回忆起在以后的时间?)

一次我们几个的那些问题的答案,我们可以向前移动:)

此外,什么技术是你使用?纯HTML,Javascript,PHP,ASP?这将有助于确定您尝试完成的最佳方法。 (我看到的PHP,只是想知道我们的选择是什么)

详细说明,我们会弄清楚:)...这是一个简单的AJAX调用来加载文本文件到一个div ...前提应该工作(如果我得到正确的代码把我的头顶部)....

<html> 
    <head> 
     <script src="http://code.jquery.com/jquery-1.5.js"></script> 
    </head> 
    <body> 
     <div id="media"> 
     </div> 
     <form id="myform" method="POST"> 
      <input type="textarea" name="MyParagraph"></textarea> 
      <input type="button" value="Change Text" onclick='$.get("SterilizeMyText.php",{ nbRandom: Math.random() }, function(data){ $("#media").html(data); });'> 
     </form> 
    </body> 
</html> 

你可以改变的onclick是一个PHP文件,将采取表单变量($ _REQUEST [“嗒嗒”])然后输出清理后的文本,如果你喜欢。

+0

它不是一个博客,新文本将替换整个文本文件。它就像一个更新部分,所以不懂计算机的人可以在网站上发布消息,而不必接触html。打算使用PHP,但如果JavaScript是必需的,会放弃它!感谢该片段。将看看我是否可以让我的头靠近它! – Mark 2011-03-27 12:34:49