HTML表单输入更新段落

时间:2011-03-27 08:33:41

标签: php html forms

我在网页中有一个多行输入文本框,并希望所有输入的文本更新页面中的另一个文本区域。我怎样才能做到这一点?目前,我知道当你提交表单时,php会将输入写入一个小文本文件,然后将其嵌入页面中。

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

感谢。

4 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

您的工作取决于您的要求。您绝对应该使用htmlspecialchars()strip_tags()来取消任何错误的HTML。之后,您只需使用nl2br()插入一些<BR>即可填充所有内容,也可以explode()添加<p>字符串并添加{{1}}代码。

答案 2 :(得分:0)

这取决于您要完成的任务。这是一种BLOG条目,其中已经存在的文本仍然存在,并且您输入的内容会被附加?所有文字都被替换了吗?除了这个页面之外的其他任何地方都需要这个文本(数据库,稍后会被召回?)

一旦我们回答了一些问题,我们就可以继续前进:)

另外,您使用的是什么技术?纯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 ['blah'])ahd然后输出已清理的文本(如果您愿意)。

答案 3 :(得分:0)

要清理您的输入,请使用http://htmlpurifier.org/ over strip_tags()。