2016年10月22日 星期六

CodeIgniter 跳脫 單引號 ’ 雙引號 ” 不是加反斜線 \

我都是使用 $this->input->post() 取表單資料,
現在碰到的問題是: 在表單上,若是使用者輸入 單引號 或是 雙引號,
在存入資料庫時可以自動跳脫(使用反斜線),不會產生問題,
但是輸出到網頁時,就完了,不管是 單引號 或是 雙引號 ,
都會對網頁造成傷害,就是 html 排版錯亂,或是顯示資料不完全。
查一下用手冊,可以使用 html_escape 去轉換 html 跳脫字元,
但是麻煩來了, code 這麼多,都個都要 html_escape($this->input->post()),
修改起來真的大工程,我會瘋掉,有什麼可以解決的方案嗎?

我想到一個方法,就是直接改 core,
所以就到 core/Input.php 複製一份到 application/core/Input.php
然後修改 application/core/Input.php 的 198 行,加入 html_escape

$value = html_escape($array[$index]);

這樣就解決問題了!

沒有留言:

張貼留言