2010-02-12 79 views
0

我该如何处理与textarea的用户输入,我需要剥去用户输入的HTML标签,存储文本的地方,并显示它回来的网页。 我还需要注意换行符存储和显示文本区域用户输入

没有使用<pre>标记的任何最佳做法?

回答

1

你总是可以做一个与<br />\n查找替换保留换行符。

但是,剥离html有点棘手。最简单的做法是用&lt;&gt;替换<>。但是这实际上并没有剥离html,它只是强制它以纯文本而不是html来呈现。

你可以使用正则表达式替换删除<anything>但有许多潜在的隐患。

0

如果你使用PHP,你可以随时使用nl2br()函数来显示文本后面的页面上。

0

我创建了一个名为SafeComment功能设计为从输入SQL,JavaScript的,HTML和VB消除问题的字符。由于我们的网站和代码几乎都是VB脚本VB &。它的功能是允许任何自由形式的输入字段被成功接收,处理,保存和显示。我们需要它来维护PCI合规性。 这不是很漂亮,但它的工作原理。

Function SafeComment(ByVal strInput) 
' Renders Any Comment Codes Harmless And Leaves Them HTML readable In An eMail Or Web Page 
' Try: SafeComment("`[email protected]#$%^&*()_+=-{}][|\'"";:<>?/.,") 
    SafeComment = "" 
    If Len(strInput) = 0 Then Exit Function 
    SafeComment = Replace(_ 
        Replace(Replace(Replace(_ 
        Replace(Replace(Replace(_ 
        Replace(Replace(Replace(_ 
        Replace(Replace(Replace(_ 
        Server.HtmlEncode(Trim(strInput)), _ 
        ":", "&#58;"), "-", "&#45;"), "|", "&#124;"), _ 
        "`", "&#96;"), "(", "&#40;"), ")", "&#41;"), _ 
        "%", "&#37;"), "^", "&#94;"), """", "&#34;"), _ 
        "/", "&#47;"), "*", "&#42;"), "\", "&#92;"), _ 
        "'", "&#39;") 
End Function