2-4-3
關於 MyTextSanitizer 資料過濾物件
您沒有觀看影片的權限
請先登入,登入後,確認您的權限後,即可觀看影片。
- 建立資料過濾工具
$myts = MyTextSanitizer::getInstance();
寫入時
- 若有特殊符號,如:「\」、「"」、「'」,若沒有處理,那麼可能無法存入。替特殊符號加入脫逸斜線,以順利存入資料庫中,非常常用。
$myts->addSlashes(文字);
- 過濾不雅字元,需搭配 XOOPS後台的「偏好設定→系統設定→敏感字詞檢查」設定來使用。(並不常用,但有用)
$myts->censorString(文字);
- 針對幾個一定是數字的欄位,亦可強制轉型為數字(更進一步確保安全),如:
$uid = (int) $uid;
$number = (int) $number;
$enable = (int) $enable;
讀出時
- 轉換HTML為特殊字元
$myts->htmlSpecialChars($text, $quote_style = NULL, $charset = null, $double_encode = true)
$text
就是要被處理之後呈現的文字。
$quote_style
要處理的引號模式,「ENT_COMPAT
」僅處理雙引號;「ENT_QUOTES
」處理雙引號和單引號(預設);「ENT_NOQUOTES
」不對任何引號進行處理。
$charset
轉換的預設編碼,通常使用預設值即可。
$double_encode
只有PHP 5.2.3之後才有效。若設為false,則不對現有的HTML實體做編碼的動作。
- 讀取大量文字(會自動將網址轉成連結)
$myts->displayTarea($text, $html=0, $smiley=1, $xcode=1, $image=1, $br=1);
$text
就是要被處理之後呈現的文字。
$html
是否允許使用HTML語法,用所見即所得編輯器製作出來的請填1。
$smiley
是否轉換表情圖,預設為1,會將:) 這類的符號轉換為圖片。
$xcode
是否使用BBCode,如:[color=red]文字[/color]。
$image
是否允許在文字中使用圖片。若為0,圖片會以連結來顯示。
$br
是否要將「\n」換行符轉換為<br>,用所見即所得編輯器者請設為 0。
不常用方法
- 過濾 XSS 攻擊語法
$myts->filterXss(文字)
- 將換行符轉為<br>
$myts->nl2Br(文字)
- 過濾反斜線
$myts->stripSlashesGPC(文字)
可搭配$myts->htmlSpecialChars()
使用
$myts->htmlSpecialChars($myts->stripSlashesGPC($this->title));
- 將特殊字元轉回HTML
$myts->undoHtmlSpecialChars($text)
link to https://github.com/tadlearn/tad_signup/commit/d82b2b96b66c77efee9db04395357d4a87e1df04 \