什么时候使用PHP_EOL代替 n,反之亦然?AjaxJquery客户端问题

什么时候使用PHP_EOL代替 n,反之亦然?AjaxJquery客户端问题,第1张

什么时候使用PHP_EOL代替 n,反之亦然?Ajax / Jquery客户端问题

该常数

PHP_EOL
通常应用于平台特定的输出

  • 实际上主要用于 文件输出
  • 实际上,除非在二进制模式下使用,否则文件功能已经在Windows系统上转换了
    n
    ←→ 。
    rn``fopen(…, "wb")

对于 文件输入, 您应该首选

n
。虽然大多数网络协议(HTTP)应该使用
rn
,但不能保证。

  • 因此,最好分手
    n
    r
    手动删除所有可选的选项:
    $lines = array_map("rtrim", explode("n", $content));

或立即使用该

file(…,FILE_IGNORE_NEW_LINES)
功能,将EOL处理留给PHP或auto_detect_line_endings进行。

  • 一个更健壮和更简洁的选择是使用
    preg_split()
    和一个正则表达式:
    $lines = preg_split("/R/", $content);

R
占位符检测的任何组合
r
+
n
。这样将是最安全的,甚至适用于Classic MacOS
≤9
文本文件(在实践中很少见)。

强制性的微优化注意事项: 尽管regex有成本,但它却比PHP中的手动循环和字符串后处理通常更快。

并且由于其平台模糊性,有一些经典示例应 避免

PHP_EOL

  • 手动生成网络协议有效负载,例如HTTP over
    fsockopen()
  • 对于
    mail()
    和MIME构造(实际上,无论如何您都不应该单调乏味地自己做)。
  • 文件输出, 如果 您要 始终不间断地 只写Unix
    n
    换行符。

因此,

"rn"
在不写入文件时,而是在需要 网络换行符 的特定上下文中准备数据时,请使用文字组合。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/4932634.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存