【问题标题】:PHP - Can't Remove Carriage Return / Space [duplicate]PHP - 无法删除回车/空格[重复]
【发布时间】:2018-02-23 18:15:21
【问题描述】:

我正在从 MySQL 数据库中读取数据。

upc 字段读作:

811657019822 843018021328

我只想要第一个数字;有一个空间/回车,由于某种原因,我无法将其爆炸或修剪掉。当我转换为 XML 时,它显示为: <g:gtin>811657019822
843018021328</g:gtin>

这是我在 PHP 中尝试的结果:

当我执行var_dump 时,它会显示:

string(25) "811657019822 843018021328"

注意它们不是都在一条线上吗?

它似乎不是换行符,因为 XML 返回一个回车符。关于在第一个数字之后尝试删除所有内容的任何想法?

更新 正如@Don't Panic 所指出的,我错误地将斜线弄错了,应该只使用\r

这是正确的: explode("\r", $product['upc']);

【问题讨论】:

  • 可以尝试通过将所有\r \n \r\n char(13) 替换为单个\n 来首先清理...然后在\n 上爆炸。
  • 它可能是只是 \r\n 而不是\r\n。您的/r/n 尝试也使用了错误的斜杠。
  • 
 只是\r
  • ord("\r") = 13

标签: php regex utf-8 explode carriage-return


【解决方案1】:

Explode with '/r/n' 不起作用有几个原因。对于一个,您需要使用双引号字符串,使用反斜杠而不是正斜杠,例如"\r\n"。但是没有\n,只有\r

尝试使用

explode("\r", $yourString);

【讨论】:

  • 你是对的。我搞砸了错误的斜线。这对我很有效:explode("\r", $product['upc']);
猜你喜欢
  • 2016-05-13
  • 1970-01-01
  • 2021-05-09
  • 1970-01-01
  • 2020-10-03
  • 2011-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多