php-净化后在我的html中

我有一个数据库,正在重建表结构,因此我将某些数据从一个表移植到另一个表.此数据似乎已从MSO产品复制粘贴,因此在获取数据时,我使用htmlpurifier和PHP中的一些str_replace对其进行了清理.这是clean函数

   function clean_html($html) {
    $config = HTMLPurifier_Config::createDefault();
    $config->set('AutoFormat','RemoveEmpty',true);
    $config->set('HTML','AllowedAttributes','href,src');
    $config->set('HTML','AllowedElements','p,em,strong,a,ul,li,ol,img');
    $purifier = new HTMLPurifier($config);

    $html = $purifier->purify($html);

    $html = str_replace(' ',' ',$html);
    $html = str_replace("\r",'',$html);
    $html = str_replace("\n",$html);
    $html = str_replace("\t",$html);
    $html = str_replace('  ',$html);
    $html = str_replace('<p> </p>',$html);
    $html = str_replace(chr(160),$html);

    return trim($html);
   }

但是,当我将结果放入新表并将其输出到ckeditor时,我得到了这三个字符.

然后,我有一个javascript函数,该函数也可以从ckeditor的内容删除特殊字符.它也不干净

  function remove_special(str) {
    var rExps=[ /[\xC0-\xC2]/g,/[\xE0-\xE2]/g,/[\xC8-\xCA]/g,/[\xE8-\xEB]/g,/[\xCC-\xCE]/g,/[\xEC-\xEE]/g,/[\xD2-\xD4]/g,/[\xF2-\xF4]/g,/[\xD9-\xDB]/g,/[\xF9-\xFB]/g,/\xD1/,/\xF1/g,"/[\u00a0|\u1680|[\u2000-\u2009]|u200a|\u200b|\u2028|\u2029|\u202f|\u205f|\u3000|\xa0]/g",/\u000b/g,'/[\u180e|\u000c]/g',/\u2013/g,/\u2014/g,/\xa9/g,/\xae/g,/\xb7/g,/\u2018/g,/\u2019/g,/\u201c/g,/\u201d/g,/\u2026/g];
    var repChar=['A','a','E','e','I','i','O','o','U','u','N','n','\t','-','--','(c)','(r)','*',"'",'"','...'];

    for(var i=0; i<rExps.length; i++) {
        str=str.replace(rExps[i],repChar[i]);
    }

      for (var x = 0; x < str.length; x++) {
    charcode = str.charCodeAt(x);
          if ((charcode < 32 || charcode > 126) && charcode !=10 && charcode != 13) {
              str = str.replace(str.charat(x),"");
          }
      }
      return str;
  }

有谁知道我需要怎么做才能摆脱他们.我认为它们可能是某种报价.

最佳答案
您的字符编码全都乱七八糟. is表示我是三字节UTF-8编码字符.

您需要发现的一些东西

>旧表的编码是什么?
>新表的编码是什么?
>显示ckeditor的页面的编码是什么?

看起来像是HTMLPurifier’s default is UTF-8,所以您确实需要了解数据的编码!

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...