UTF-8 PHP 将不可打印字符 "space" 替换为不可打印字符 "line break"
UTF-8 PHP replace non printable character "space" with non printable character "line break"
我在 UTF-8
中有一个带有 non-printable space
的字符串,我需要将其替换为 non-printable linebreak
像这样 str_replace(' ','<br />',$string);
但 non-printable characters
.
怎么样:str_replace(' ' , PHP_EOL , $string);
甚至更好:str_replace( array( ' ', ' ' ) , PHP_EOL , $string);
如果您在引号之间输入特定字符,它确实有效:
str_replace(' ', '', $string)
^ ^^
put characters here
因为这可能有点难以输入 and/or 使源代码不那么明显,您可以用字节表示法编写这些字符串文字。只需弄清楚你在谈论什么特定字符以及它编码的字节:
str_replace("\xE2\x80\xAF", "\x0A", $string)
这是用常规换行 (0A
) 替换零宽度 SPACE(UTF-8 编码 E2 80 AF
)。在您选择的 Unicode table 中查找。可能使用 echo bin2hex($string)
检查您现有的字符串以确定它包含哪些字节。
我在 UTF-8
中有一个带有 non-printable space
的字符串,我需要将其替换为 non-printable linebreak
像这样 str_replace(' ','<br />',$string);
但 non-printable characters
.
怎么样:str_replace(' ' , PHP_EOL , $string);
甚至更好:str_replace( array( ' ', ' ' ) , PHP_EOL , $string);
如果您在引号之间输入特定字符,它确实有效:
str_replace(' ', '', $string)
^ ^^
put characters here
因为这可能有点难以输入 and/or 使源代码不那么明显,您可以用字节表示法编写这些字符串文字。只需弄清楚你在谈论什么特定字符以及它编码的字节:
str_replace("\xE2\x80\xAF", "\x0A", $string)
这是用常规换行 (0A
) 替换零宽度 SPACE(UTF-8 编码 E2 80 AF
)。在您选择的 Unicode table 中查找。可能使用 echo bin2hex($string)
检查您现有的字符串以确定它包含哪些字节。