PHP中動態HTML的輸出技術
轉載自:
你可以在php中的任何地方使用
echo "hello world!";
來輸出你想輸出的內容。
不過你將遇到以下麻煩:
1 -
當你試圖在hello和world之間加入兩個(或兩個以上)空格,
你使用:
echo "hello world!";
你得到的輸出還是一個空格,或者你在行首加入一個空格,
你的空格也將被忽略。
2 -
更糟的是輸出使用者輸入的內容時,有心或無意的使用者輸入將
使你的輸出變的一團糟,甚至給其他使用者帶來麻煩。
比如:
如果使用者輸入中有不止一行的內容,那麼你如果簡單地
echo $in_txt;
使用者的換行將被忽略。
3 -
還是上面的例子,大部分情況我們不希望使用者輸入html
程式碼,因為你不知道使用者會輸入什麼。
使用者甚至可以寫一段程式碼使你網站所有的使用者當機。
當然你不希望那樣,但是你如果簡單地
echo $in_txt;
就不可能避免。 [@more@]解決方法:
對於1,可以使用ereg_replace(" {2}","$nbsp; ",$in_txt)
兩個在一起的空格將變成兩個空格的轉義符($nbsp)。
對於2,nl2br($in_txt)是最好的選擇,這樣所以的換行就換成
"
"了。
對於3,安全地顯示使用者輸入的html程式碼,php中也有專門的函式。
htmlspecialchars($in_txt)就可以了。
另外,如果$in_txt是從mysql資料庫中提出的,那麼他在以前插入時
一定要使用addslashes(),相應的,取出時就一定要stripslashes()。
總結:
如果$in_txt是使用者輸入的文字,一般可以這樣輸出:
echo ereg_replace(" {2}"," ",nl2br(htmlspecialchars(stripslashes($in_txt))));
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/786540/viewspace-1000335/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PHP靜態化技術PHP
- 詳解.NET中的動態編譯技術編譯
- html中如何輸出多個空格HTML
- 直播平臺開發,動態文字輸出,文字自動輸出
- 「說技術」 PHP如何從字串中過濾出中文PHP字串
- PHP中的輸出:echo、print、printf、sprintf、pPHP
- Java中的超程式設計與動態代理技術Java程式設計
- 動態追蹤技術(中) - Dtrace、SystemTap、火焰圖
- "陷阱"技術探秘 ──動態漢化Windows技術的分析 (轉)Windows
- 陷阱"技術探秘 ──動態漢化Windows技術的分析 (轉)Windows
- php中的html元素PHPHTML
- HTML5中快取技術HTML快取
- C++中的檔案輸入/輸出(4):檢測輸入/輸出的狀態標誌 (轉)C++
- 動態漢化Windows技術的分析 (轉)Windows
- HTML <output> 輸出域HTML
- HTML Table 輸出ExcelHTMLExcel
- HTML5中實現進度條繫結輸出結果以及滑動條動態調整顏色案例HTML
- PHP的輸出緩衝區PHP
- 影片美顏SDK動態處理技術與靜態處理技術
- Java動態追蹤技術探究Java
- 淺談動態追蹤技術
- PHP 輸出快取PHP快取
- PHP技術分享-提取字串中的數字PHP字串
- HTML5 中 40 個最重要的技術點HTML
- php頁面巢狀html程式碼,,html中js呼叫php中的陣列PHP巢狀HTMLJS陣列
- 看完Java的動態代理技術——Pythoner笑了JavaPython
- oracle plsql之動態sql_輸出拼接的長字串OracleSQL字串
- php中的動態變數的一個應用PHP變數
- cad動態輸入框不見了 cad動態輸入框怎麼調出來
- 那種動態呼叫技術效率最高?
- DL動態載入框架技術文件框架
- php頁面靜態化技術;學習筆記PHP筆記
- MySQL輸出html格式檔案MySqlHTML
- php nginx 實時輸出PHPNginx
- 使用java反射技術完成物件所有屬性值的輸出Java反射物件
- PHP 中 9 大快取技術總結PHP快取
- 關於cmake輸出動態連結庫名字的問題
- Spring系列第十五講 Spring中的Java動態代理技術(上)SpringJava