从PHP中的字符串中删除ZERO WIDTH NON-JOINER字符

Ehs*_*san 2 php unicode

我想从字符串中删除ZERO WIDTH NON-JOINER字符但是使用str_replace没有用.

Mat*_*ndh 5

str_replace应该解决这个问题,只要你小心你要替换的东西.

// \xE2\x80\x8C is ZERO WIDTH NON-JOINER
$foo = "foo\xE2\x80\x8Cbar";

print($foo . " - " . strlen($foo) . "\n");
$foo = str_replace("\xE2\x80\x8C", "", $foo);
print($foo . " - " . strlen($foo) . "\n");
Run Code Online (Sandbox Code Playgroud)

按预期输出:

foo?bar - 9
foobar - 6
Run Code Online (Sandbox Code Playgroud)