代码之家  ›  专栏  ›  技术社区  ›  Ryan Florence

在php中如何用“”替换?

  •  0
  • Ryan Florence  · 技术社区  · 17 年前
    str_replace('Ê','',$line);
    

    他不工作了。是否有一些特殊的字符串表示这一点?

    5 回复  |  直到 17 年前
        1
  •  3
  •   Gumbo    17 年前

    您需要考虑要操作的字符串的编码。如果没有使用与您在上面声明的字符串相同的字符编码进行编码,则需要在两种编码之间进行转换。

        2
  •  2
  •   Paul Dixon    17 年前

    不清楚您是否知道这一点,但是str_replace不能“就地”工作,它返回一个新字符串,所以您真正需要的可能就是

    $line=str_replace('Ê','',$line);
    

    另一种可能性是,您正在研究一个Unicode组合变音符号,实际上是两个Unicode字符-E和一个扬抑变音符号。

        3
  •  0
  •   shadowhand    17 年前

    尝试使用preg_替换:

    $line = preg_replace('/Ê/ui', '', $line);
    
        4
  •  0
  •   usoban    17 年前
        5
  •  0
  •   Ryan Florence    17 年前

    我必须首先将线路转换为UTF-8。

    mb_convert_encoding($line, "UTF-8")
    

    所以我最后得到的代码是:

    $line = str_replace('Ê','', mb_convert_encoding($line, "UTF-8"));