看到这么一句代码

2020-05-18 10:20:10 +08:00
 berumotto

改个项目看到这句代码,php 的,用途是替换一个换行。然而它不用换行符,直接回了个车🤪

str_replace('

', '',$str);
5984 次点击
所在节点    程序员
34 条回复
milugt
2020-05-18 15:29:02 +08:00
systemcall
2020-05-18 15:31:06 +08:00
次世代的 WYSWYG,比别的编程语言领先了一个时代
php 是世界上最好的语言
xnode
2020-05-18 15:33:33 +08:00
... PHP_EOL 这个就是门槛太低的缘故....
maggch
2020-05-18 15:37:19 +08:00
@hejw19970413 mac 早就是 n 了,r 是老黄历了
Huelse
2020-05-18 15:53:25 +08:00
@berumotto #7 应该是因为这个文件是在 win 下编辑所以 linux 下就用不了了,可以验证下在 linux 下重写看看还有没有效
Marstin
2020-05-18 15:55:25 +08:00
长见识了
siganushka
2020-05-18 17:49:15 +08:00
PHP_EO L 就是专门干这个的,还跨平台,这么硬编码不会被打么?
zpfhbyx
2020-05-18 18:40:47 +08:00
说 PHP_EOL 的,没有考虑过 这个没准是 window 编辑器下的换行呢, 服务器是 linux 的,
zpfhbyx
2020-05-18 18:42:45 +08:00
hgc81538
2020-05-18 18:47:36 +08:00
通用的寫法應該是 str_replace(array("\r", "\n"), '', $str);
lululau
2020-05-18 18:51:26 +08:00
人家这个才是真正的换行符好吧,你说的那个反斜杠嗯,是换行符的转义形式🤦‍♂️
siganushka
2020-05-18 18:54:03 +08:00
@zpfhbyx PHP_EOL 是获取当前换行符的 const,不同平台其值不一样,你要说在 win 下开发在 linux 运行,那可以用 \r 和 \n,怎么着也不能那样些。
zpfhbyx
2020-05-18 19:11:05 +08:00
@siganushka 我知道 PHP_EOL 的用法..这个不用强调,我更倾向于不了解业务就说 PHP_EOL 是不严谨的,只不过是没用\r
\n 啥的去替换回车呗.
pigzzz
2020-05-19 10:50:58 +08:00
PHP_EOL

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/672763

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX