我在網頁中有一個多行輸入文本框,並希望所有輸入的文本更新頁面中的另一個文本區域。我將如何最好地實現這一目標?目前,我認爲當你提交表單時,php會將輸入寫入一個小文本文件,然後嵌入到頁面中。HTML表單輸入更新
但是,我需要對此進行清理,以便人們不注入html。另外,是否需要爲輸入框中的每一行添加<p>...</p>
標籤?
謝謝。
我在網頁中有一個多行輸入文本框,並希望所有輸入的文本更新頁面中的另一個文本區域。我將如何最好地實現這一目標?目前,我認爲當你提交表單時,php會將輸入寫入一個小文本文件,然後嵌入到頁面中。HTML表單輸入更新
但是,我需要對此進行清理,以便人們不注入html。另外,是否需要爲輸入框中的每一行添加<p>...</p>
標籤?
謝謝。
你做什麼取決於你的要求。您一定要使用htmlspecialchars()
或strip_tags()
來取消任何錯誤的HTML。之後,你可以簡單地使用nl2br()
插入一些<BR>
空間的一切,或者你可以explode()
你的字符串,並添加<p>
標籤。
根據更新的保存方式(只是那個實例,永久爲那個用戶或者永久爲所有用戶),選項範圍從Javascript/Jquery簡單地更新其他文本區域到AJAX調用一個php後端腳本清理並保存更新。
對於<p>
,您可以使用Javascript根據換行符進行拆分(),然後使用for循環將每個元素添加爲<p>text</p>
。這個概念應該適用於任何語言。
這取決於你想要完成什麼。這是一種類型的博客條目,其中已經存在的文本仍然存在,並且您輸入的內容被追加了嗎?所有的文字都被替換了嗎?將需要其他地方,除了此頁面上的這段文字(數據庫,回憶起在以後的時間?)
一次我們幾個的那些問題的答案,我們可以向前移動:)
此外,什麼技術是你使用?純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 [「嗒嗒」])然後輸出清理後的文本,如果你喜歡。
它不是一個博客,新文本將替換整個文本文件。它就像一個更新部分,所以不懂計算機的人可以在網站上發佈消息,而不必接觸html。打算使用PHP,但如果JavaScript是必需的,會放棄它!感謝該片段。將看看我是否可以讓我的頭靠近它! – Mark 2011-03-27 12:34:49
要清理輸入信息,請使用http://htmlpurifier.org/來覆蓋strip_tags()。
您是否需要將其保存在頁面上以供同一用戶,多個用戶或僅用於該頁面實例的後續視圖? – wag2639 2011-03-27 08:36:32
更新後的文本是否需要存儲在數據庫中,還是可供未來使用? – Chris 2011-03-27 08:37:41
輸入存儲到一個小文本文件,以便每當其他人查看另一個頁面時,它顯示該消息。所以應該保存,直到再次更新。 – Mark 2011-03-27 12:26:30