改个项目看到这句代码,php 的,用途是替换一个换行。然而它不用换行符,直接回了个车🤪
str_replace('
', '',$str);
1
zarte 2020-05-18 10:31:57 +08:00
有可能不是回车。。。可能是 /r/n 之外的
|
2
k9982874 2020-05-18 10:33:06 +08:00
乍一看一脸懵 B,去 PHP 测试了一下是可以用的,这是个大神。
|
3
acthtml 2020-05-18 10:34:10 +08:00 15
是个大神,所见即所得
|
4
ningfan120 2020-05-18 10:36:56 +08:00
牛逼,长见识
|
5
ila 2020-05-18 10:46:20 +08:00 via Android
php 单引号管多行可以这样做,
python 这样做更麻烦。 |
6
littleylv 2020-05-18 10:53:53 +08:00
这样不知道会不会有不同平台换行符的问题
|
9
shintendo 2020-05-18 10:58:27 +08:00
这个写法的可读性明显不如换行符吧,更别提潜在的兼容性问题
|
10
lepig 2020-05-18 11:00:20 +08:00
替换的时候一般都是`\r\n`或者`\n` 这种应该在平台上有兼容性问题。 在 windows 下回车就是\r\n Linux 上是\n mac 上好像是\r
|
11
NotFoundEgg 2020-05-18 11:07:01 +08:00 5
所见即所得 果然 php 是世界上最好的语言
|
12
idealhs 2020-05-18 11:26:22 +08:00
woc 牛逼
|
13
bravecarrot 2020-05-18 11:45:09 +08:00 1
所见即所得 笑死我了
|
14
yafoo 2020-05-18 12:42:51 +08:00 via Android
用编辑器处理多余的换行时,经常用这种方法,但是这样会完全变成一行,所以我都是把两个换行替换成一个换行,多执行几次就 ok 了。
|
15
xizon 2020-05-18 14:05:17 +08:00 1
感觉还是 PHP_EOL 比较好使
|
16
enjoyCoding 2020-05-18 14:42:00 +08:00
@littleylv 有的 看编辑器格式 windows 默认 \r\n mac 和 Linux 默认 \r
windows 写完 linux 和 mac 用不了 |
17
qiayue 2020-05-18 14:45:25 +08:00
临时打印些信息要换行,我也常这样用
|
18
littleylv 2020-05-18 14:46:55 +08:00
@xizon #15 如果是一个在 windows 下编辑的 txt,到 linux 服务器上用 PHP_EOL 解析,会不会有问题?
|
19
hejw19970413 2020-05-18 14:53:11 +08:00
@enjoyCoding mac 是 \r Linux 是 \n windows \r\n
|
20
enjoyCoding 2020-05-18 15:09:27 +08:00
@hejw19970413 受教啦 感谢!
|
21
milugt 2020-05-18 15:29:02 +08:00
|
22
systemcall 2020-05-18 15:31:06 +08:00 via Android
次世代的 WYSWYG,比别的编程语言领先了一个时代
php 是世界上最好的语言 |
23
xnode 2020-05-18 15:33:33 +08:00
... PHP_EOL 这个就是门槛太低的缘故....
|
24
maggch 2020-05-18 15:37:19 +08:00 via Android
@hejw19970413 mac 早就是 n 了,r 是老黄历了
|
25
Huelse 2020-05-18 15:53:25 +08:00
@berumotto #7 应该是因为这个文件是在 win 下编辑所以 linux 下就用不了了,可以验证下在 linux 下重写看看还有没有效
|
26
Marstin 2020-05-18 15:55:25 +08:00
长见识了
|
27
siganushka 2020-05-18 17:49:15 +08:00
PHP_EO L 就是专门干这个的,还跨平台,这么硬编码不会被打么?
|
28
zpfhbyx 2020-05-18 18:40:47 +08:00
|
29
zpfhbyx 2020-05-18 18:42:45 +08:00
|
30
hgc81538 2020-05-18 18:47:36 +08:00
通用的寫法應該是 str_replace(array("\r", "\n"), '', $str);
|
31
lululau 2020-05-18 18:51:26 +08:00 via iPhone
人家这个才是真正的换行符好吧,你说的那个反斜杠嗯,是换行符的转义形式🤦♂️
|
32
siganushka 2020-05-18 18:54:03 +08:00
@zpfhbyx PHP_EOL 是获取当前换行符的 const,不同平台其值不一样,你要说在 win 下开发在 linux 运行,那可以用 \r 和 \n,怎么着也不能那样些。
|
33
zpfhbyx 2020-05-18 19:11:05 +08:00
@siganushka 我知道 PHP_EOL 的用法..这个不用强调,我更倾向于不了解业务就说 PHP_EOL 是不严谨的,只不过是没用\r
\n 啥的去替换回车呗. |
34
pigzzz 2020-05-19 10:50:58 +08:00
PHP_EOL
|