2

我有一个字符串,我需要UTF-8non-printable space它替换non-printable linebreak

类似这样的东西,str_replace('&nbsp;','<br />',$string);但带有non-printable characters.

4

2 回答 2

3

如果您在引号之间输入特定字符,它确实有效:

str_replace(' ', '', $string)
             ^   ^^
        put characters here

由于这可能有点难以键入和/或使源代码不那么明显,因此您可以用它们的字节表示法编写这些字符串文字。只需弄清楚您正在谈论的特定字符以及它编码的字节:

str_replace("\xE2\x80\xAF", "\x0A", $string)

E2 80 AF这是用常规换行符 ( )替换零宽度空格 (UTF-8 编码0A)。在您选择的 Unicode 表中查找它。可能检查您现有的字符串,echo bin2hex($string)以确定它包含哪些字节。

于 2015-07-29T10:01:30.400 回答
0

怎么样:str_replace('&nbsp;' , PHP_EOL , $string);

甚至更好:str_replace( array( '&nbsp;', ' ' ) , PHP_EOL , $string);

于 2015-07-29T09:47:13.930 回答