【问题标题】:How do I remove ASCII number 13?如何删除 ASCII 数字 13?
【发布时间】:2016-07-24 03:27:43
【问题描述】:

我一直想知道为什么我不能替换一个未知的空白字符,直到一个小时前我决定遍历它并使用 php ord 函数我发现它实际上是字符 ASCII 数字 13。我尝试了以下删除它但没有用:

preg_replace('/\x13/','',$string)

有什么帮助吗?

【问题讨论】:

  • 或者使用/\r?\n/ - \r 处理相当于\x0D 的回车符,而\n 处理相当于\x0A 的换行符。这对于使用 \r\n 作为行分隔符的 Windows 与仅使用 \n 的 *nix 系统比较常见
  • 另一种可能对您有用的替代方法,因为您将其表述为提到的“未知空白字符”。如果您想摆脱所有不是空格的空白字符/(?! )\s/s 请注意需要使用s修饰符
  • 我还在苦苦挣扎。两种解决方案都不起作用。不是 preg_replace('/\x0D/','',$string) 不是 preg_replace('/\x19/','',$string)

标签: regex preg-replace


【解决方案1】:

十六进制的 13 是十进制的 19,这是 ASCII 控制字符 DC3,它不是正确的空格。

您的意思可能是十进制 13,这是一个回车。在十六进制中,即 D,因此您可以改用 \x0D

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 2012-01-21
    • 2016-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多