我读过这个 - preg_replace PREG_BAD_UTF8_ERROR,但答案并没有真正帮助我。我想从字符串中删除一些不可打印的字符。这是我的代码:
protected void Application_EndRequest(object sender, EventArgs e)
{
var request = this.Request;
var response = this.Response;
if (request.RawUrl.Contains("bundles/"))
{
response.Cache.SetCacheability(HttpCacheability.Public);
response.Cache.SetMaxAge(new TimeSpan(365,0,0,0));
response.Cache.SetSlidingExpiration(true);
}
我要删除的内容例如是“\ x99”。给定代码的输出是:
UTF-8
字符串'Cortègedegymnastique devant LL。 MM。 ÄźşÄĹĹ” (长度= 52)布尔值为真
我该如何正确地做到这一点?
答案 0 :(得分:1)
您不需要在mb_ereg_replace
中使用分隔符当我使用
时echo 'encoding ' . mb_detect_encoding($string) . "\n\n<br/>";
echo 'replace result ' . mb_ereg_replace("\\x99", '', $string) . "\n\n<br/>";
我得到了
encoding UTF-8
replace result Cortège de gymnastique devant LL. MM. ęźżąśł
\ x99不见了