每次更新时,文本区域都有空白


I got blank space at text area in every update time

<textarea name="email_message" id="email_message" cols="65" rows="15"><?php echo trim($entry['message']);?></textarea>

当我更新上面的html代码时,它使两个空行包含在消息中。

,

Dear Sir
(here is one now now)
How are you?

更新到数据库时保存如下:

Dear Sir
(here is two lines)
How are you?

每次保存都会增加空白行。

PHP代码在这里:
function email_template_save()
    {
        $content = $this->input->post('email_message');
        $this->load->model('templates');
        $data['msg']=$this->templates->update_email_template($content,$this->session->userdata('username'));
        $data['main_content']='message';
        $this->load->view('template',$data);
    }

function update_email_template($content,$username)
    {
        $data=array(
            'message'=>$this->input->post('email_message'));
            $this->db->where('username', $username);
            $this->db->update('email_format', $data); 
            return 'Successfully Updated';

    }

我知道这一切,这是最新版本的CI和Windows换行符的问题。

请看这个答案:PHP textarea节省额外的新行到MySQL DB

这是我正在使用的变通方法,输入类的扩展:

<?php defined('BASEPATH') OR exit('No direct script access.');
/**
 * CI 2.0 (Reactor version) did something funny to newlines.
 * Textareas would $_POST an extra newline, this is a patch for that "feature".
 * 
 * @package     Codeigniter
 * @subpackage  Input
 */
class MY_Input extends CI_Input {
    public function __construct()
    {
        if (PHP_EOL == "'r'n")
        {
            $this->_standardize_newlines = FALSE;
        }
        parent::__construct();
    }
}
/* end file */

这也与你的另一个问题有关:在windows和linux服务器中爆炸错误'r'n和'n

请看这里的解释:我什么时候使用PHP常量"PHP_EOL"?

是否有可能将空白表示为'r'n,并且当您打印它们时,'r'n分开?试运行<textarea name="email_message" id="email_message" cols="65" rows="15"><?php echo trim(str_replace("'r'n","'n",$entry['message']));?></textarea>

这是可能的,你是转义值两次,我最近有同样的问题,检查你是否正在转义的值在获得的帖子和保存的数据