0

我的文本区域中有用户输入的描述。<p style="text-align:center;">user inputted description text</p>由于我使用富文本编辑器作为我的文本区域,因此将描述输入值分配给变量时看起来像这样。我想"使用空格替换字符str_replace('"', ' ',$course_desc);但是,保存时,数据库中 course_desc 的值在存储时仅为<p style=. 似乎角色"没有被替换。但是当我只是用相同类型的描述<p style="text-align:center;">user inputted description text</p>而不是基于用户输入来声明我自己的变量时,字符"被正确地替换为空格。这有什么问题?这是我的代码:

Model.php(变量$course_desc值来自用户输入的数据)

public function insert_file($filename,$course_name,$course_desc,$tennant_email,$is_public,$concat_url)
 {

  $course_desc_replace = str_replace('"', ' ',$course_desc);

  $data = array(
     'course_id'     => '',
     'tennant_id'    => $tennant_email,
     'display_public'=> $is_public,
     'course_name'   => $course_name,
     'course_desc'   => $course_desc_replace,
     'private_url'   => $concat_url,
     'filename'      => $filename

              );

        $this->db->insert('courses', $data);
         return true;
 }

数据库表中的 course_desc 字段值为:

<p style=

Model.php(变量$sample值不是来自用户输入)

public function insert_file($filename,$course_name,$course_desc,$tennant_email,$is_public,$concat_url)
 {


$sample = '<p style="text-align:center;">sample</p>';
$course_desc_replace = str_replace('"', ' ',$sample);

  $data = array(
     'course_id'     => '',
     'tennant_id'    => $tennant_email,
     'display_public'=> $is_public,
     'course_name'   => $course_name,
     'course_desc'   => $course_desc_replace,
     'private_url'   => $concat_url,
     'filename'      => $filename

              );

        $this->db->insert('courses', $data);
         return true;
   }

数据库表中的 course_desc 字段值为:

<p style= text-align:center; >text</p>
4

1 回答 1

0

Could it be different types of quotation marks causing the problem? There's a few different types:

"   U+0022 QUOTATION MARK
“   U+201C LEFT DOUBLE QUOTATION MARK
”   U+201D RIGHT DOUBLE QUOTATION MARK

Edit - Many more similar ones actually! Check this link, there's about 15: http://unicode.org/cldr/utility/confusables.jsp?a=%22&r=None

于 2013-09-25T16:23:26.027 回答