今まで気づかなかったのですが、CodeIgniter フォーム検証クラスを使用している場合、検証が失敗した場合 ($this->form_validation->run() === FALSE)、post 変数内のすべての特殊文字が変換されます。テキスト入力にあった一重引用符または二重引用符。この動作をオフにする方法はありますか? 次のように html_escape コマンドを使用して、プロジェクト内のすべてのフォームに事前入力を行いました。
<input value="<?php echo html_escape($this->input->post('value'));?>" />
html_escape は htmlspecialchars をもう一度実行し、フォームに html エンティティを表示します。「prep_for_form」を使用するルールを設定しておらず、XSS がオフになっているため、CI がこれを選択する理由がわかりません。
また、値を事前に入力するための set_value 関数については知っていますが、私の場合、その関数を使用できない他のことをしています。
どんな助けでも大歓迎です。