PHP中動態HTML的輸出技術詳解
PHP中動態HTML的輸出技術,你是否知道呢?可以在php程式中的任何地方使用,就跟隨本站小編一起去了解下吧,想了解更多相關資訊請持續關注我們應屆畢業生考試網!
echo "hello world!";
來輸出你想輸出的內容。
不過你將遇到以下麻煩:
當你試圖在hello和world之間加入兩個(或兩個以上)空格,
你使用:
echo "hello world!";
你得到的輸出還是一個空格,或者你在行首加入一個空格,
你的空格也將被忽略。
更糟的是輸出使用者輸入的內容時,有心或無意的使用者輸入將
使你的輸出變的一團糟,甚至給其他使用者帶來麻煩。
比如:
<form action="">
<textarea name="in_txt">
</textarea>
<br>
<input type="submit">
</form>
如果使用者輸入中有不止一行的'內容,那麼你如果簡單地
echo $in_txt;
使用者的換行將被忽略。
還是上面的例子,大部分情況我們不希望使用者輸入html
程式碼,因為你不知道使用者會輸入什麼。
使用者甚至可以寫一段程式碼使你網站所有的使用者宕機。
當然你不希望那樣,但是你如果簡單地
echo $in_txt;
就不可能避免。
解決方法:
對於1,可以使用ereg_replace(" {2}","$nbsp; ",$in_txt)
兩個在一起的空格將變成兩個空格的轉義符($nbsp)。
對於2,nl2br($in_txt)是最好的選擇,這樣所以的換行就換成
"<br>"了。
對於3,安全地顯示使用者輸入的html程式碼,php中也有專門的函式。
htmlspecialchars($in_txt)就可以了。
另外,如果$in_txt是從mysql資料庫中提出的,那麼他在以前插入時
一定要使用addslashes(),相應的,取出時就一定要stripslashes()。
總結:
如果$in_txt是使用者輸入的文字,一般可以這樣輸出:
echo ereg_replace(" {2}"," ",nl2br(htmlspecialchars(stripslashes($in_txt))));
-
PHP正則匹配中文字母數字正則的表示式
PHP語言是一門實用性很強的語言,下面小編為大家帶來了關於PHP正則匹配中文字母數字正則的'表示式,歡迎大家閱讀!PHP正則匹配中文字母數字正則的表示式程式碼如下if(preg_match("/^d*$/","4312")){echo"全數字";}if(preg_match("/^[a-z]*$/i","fdsFDfd")){echo"全...
-
如何寫出優雅的PHP程式碼
導語:PHP是一種通用開源指令碼語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。下面我們來看看如何寫出優雅的PHP程式碼,希望對大家有所幫助。寫出優秀的程式程式碼是一門藝術,要想如此,就必須在一開始就養成良好的程式設計習慣。良好的程式設計...
-
php使用fgetcsv讀取csv檔案出現亂碼的解決方法
PHP獨特的語法混合了C、Java、Perl以及PHP自創的語法。它可以比CGI或者Perl更快速地執行動態網頁。以下是小編為大家搜尋整理的php使用fgetcsv讀取csv檔案出現亂碼的解決方法,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!一般來說在php中...
-
PHP 7.1中都有哪些重大更新
PHP7.1.0帶來了大量的改進和新功能:可空型別返回空型別可迭代的psuedo-type支援常量可見的類陣列解構square框架和在list()中允許指定keys多異常型別捕獲,以下是小編為大家搜尋整理的PHP7.1中都有哪些重大更新,希望能給大家帶來幫助!更多精彩內容請及時關注我們應...