我在UTF-8
中有一个字符串与 non-printable space
我需要将其替换为 non-printable linebreak
类似这样的str_replace(' ','<br />',$string);
但与 non-printable characters
.
最佳答案
如果您在引号之间输入特定字符,它实际上会起作用:
str_replace(' ', '', $string)
^ ^^
put characters here
由于这可能有点难以键入和/或使源代码不太明显,因此您可以用字节表示法编写这些字符串文字。只需弄清楚您正在谈论的具体字符以及它的编码字节即可:
str_replace("\xE2\x80\xAF", "\x0A", $string)
这将用常规换行符 (0A
) 替换零宽度空格(UTF-8 编码 E2 80 AF
)。在您选择的 Unicode 表中查找它。可以使用 echo bin2hex($string)
检查现有字符串以找出它包含哪些字节。
关于php - UTF-8 PHP 将不可打印字符 "space"替换为不可打印字符 "line break",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31696211/