php - UTF-8 PHP 将不可打印字符 "space"替换为不可打印字符 "line break"

标签 php utf-8 preg-replace non-printable

我在UTF-8中有一个字符串与 non-printable space我需要将其替换为 non-printable linebreak

类似这样的str_replace('&nbsp;','<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/

相关文章:

utf-8 - 中文字符在 strings.xml 中显示为空白框

php - Preg_Replace with 函数不起作用

php 只允许数字数据和逗号,删除重复的逗号

php - 通过html的提交按钮上传文件而不是flash的上传按钮

PHP - 从时差中排除所有非工作时间/天

php - 将点均匀分布在 map 上的矩形上(调试)

php - 如何从 paypal IPN 调用自定义变量?

python-3.x - 从字节流中读取 utf-8 字符

python - 将 UTF-16 转换为 UTF-8

PHP preg replace 只允许数字