我有一个字符串在UTF-8
与non-printable space
,我需要替换为non-printable linebreak
类似于str_replace(' ','<br />',$string);
,但与non-printable characters
。
如果你在引号之间输入特定的字符,它实际上是有效的:
str_replace(' ', '', $string)
^ ^^
put characters here
由于这可能有点难以键入和/或使源代码不那么明显,因此可以用字节表示法编写这些字符串字面值。只要弄清楚你在谈论的具体字符以及它的编码字节:
str_replace("xE2x80xAF", "x0A", $string)
这是用常规换行(0A
)替换ZERO-WIDTH SPACE (UTF-8编码E2 80 AF
)。在您选择的Unicode表中查找它。可能使用echo bin2hex($string)
检查您现有的字符串,以找出它包含的字节。
如何:str_replace(' ' , PHP_EOL , $string);
或者更好:str_replace( array( ' ', ' ' ) , PHP_EOL , $string);