『壹』 php htmlentities() 函數把字元轉換為 HTML 實體。
什麼叫實體化:就是將html標簽(如「<」,「>」等)轉化成用ASCII表示的形式。
舉個例子:
<?php
$str="A'quote'is<b>bold</b>";
//Outputs:A'quote'is<b>bold</b>
echohtmlentities($str);
//Outputs:A'quote'is<b>bold</b>
echohtmlentities($str,ENT_QUOTES);
有啥作用:一般是過濾用戶輸入
『貳』 php如何實現html內容生成圖片
需要藉助第三方擴展 wkhtmltopdf 可轉成圖片或者pdf
『叄』 關於php文本域中 html標簽轉義的問題,望大家幫忙解決看看
經本人測試,據我的理解,問題的原因應該不是腳本的問題,你用firebug進行觀察會發現,當你傳送post的時候,其中的html文本域內容已經進行了編碼,但這個編碼會在你腳本運行之前進行還原,所以,不會影響你的正則腳本運算。
據我的估計,原因在於:你在輸入正則表達式的時候,可能不是太正確。以下是我的測試過程:
運行訪問你的腳本,在文本域里將你的腳本源代碼粘上,再在正則表達輸入框里輸入:
%<input
type(.*)/>%si
你查看網頁源代碼,其輸出結果如下:
<pre>Array
(
[0]
=>
Array
(
[0]
=>
<input
type="submit"
name="button"
value="提交"
/>
)
[1]
=>
Array
(
[0]
=>
="submit"
name="button"
value="提交"
)
)
</pre>
說明,還是匹配到了html標簽。
而第1個匹配項,在瀏覽器里會顯示為一個html按鈕,原因在於這是正規的html語句,所以,瀏覽器會將這個表現出來。
『肆』 PHP頁面原樣顯示html代碼
使用PHP函數htmlspecialchars轉換一下就可以了:
$str="Thisissome<b>bold</b>text.";
echohtmlspecialchars($str);
htmlspecialchars() 函數把預定義的字元 "<" (小於)和 ">" (大於)轉換為 HTML 實體。
轉換後的字元輸出,就能被瀏覽器直接顯示了。
『伍』 php輸出html時轉義,該怎麼處理
htmlspecialchars() 函數把預定義的字元轉換為 HTML 實體。
語法:
htmlspecialchars(string,flags,character-set,double_encode)
預定義的字元是:
& (和號)成為 &
" (雙引號)成為 "
' (單引號)成為 '
< (小於)成為 <
> (大於)成為 >
htmlspecialchars_decode() 函數把一些預定義的 HTML 實體轉換為字元。
語法:
htmlspecialchars_decode(string,flags)
會被解碼的 HTML 實體是:
& 解碼成 & (和號)
" 解碼成 " (雙引號)
' 解碼成 ' (單引號)
< 解碼成 < (小於)
> 解碼成 > (大於)