UTF-8 PHP替换不可打印字符“;“空间”;带有不可打印字符;换行“;
我在UTF-8 PHP替换不可打印字符“;“空间”;带有不可打印字符;换行“;,php,utf-8,preg-replace,non-printable,Php,Utf 8,Preg Replace,Non Printable,我在UTF-8中有一个字符串,带有不可打印的空格,我需要将其替换为不可打印的换行符 类似这样的str_replace(“”,,$string)但是带有不可打印字符如何:str\u replace('',PHP\u EOL,$string) 或者更好:str_replace(数组(“”,),PHP_EOL,$string)如果您在引号之间键入特定字符,它确实有效: str_replace(' ', '', $string) ^ ^^ put chara
UTF-8
中有一个字符串,带有不可打印的空格
,我需要将其替换为不可打印的换行符
类似这样的
str_replace(“”,
,$string)
但是带有不可打印字符
如何:str\u replace('',PHP\u EOL,$string)代码>
或者更好:str_replace(数组(“”,),PHP_EOL,$string)代码>如果您在引号之间键入特定字符,它确实有效:
str_replace(' ', '', $string)
^ ^^
put characters here
由于这可能会有点难以键入和/或使源代码不那么明显,因此可以用字节表示法编写这些字符串文字。只需找出您正在谈论的特定字符以及它的编码字节:
str_replace("\xE2\x80\xAF", "\x0A", $string)
这将用常规换行符(0A
)替换零宽度空间(UTF-8编码E280 AF
)。在您选择的Unicode表中查找它。可能使用echo bin2hex($string)
检查现有字符串,找出其中包含的字节。不可打印空格/换行符是否可能重复?这些东西在Unicode中是不存在的,所以我希望它们很难搜索。第一个代码片段对我来说很有用,比如charm:),我刚刚在$replace
参数中添加了一个带有enter键的换行符,它就起了作用。谢谢。对于那些在preg_replace没有在应该的时候拿起它的时候遇到麻烦的人来说,这很有魅力!在我的例子中,我刚刚添加了不可见空间E280 8b的十六进制编辑器值,它实际上起了作用。在很多事情都失败后,这是第一个对我有效的解决方案