在新行上爆炸可与“ \ n”一起使用,但不适用于PHP_EOL。为什么?

php_nub_qq

我有这串

在此处输入图片说明

如您所见,它显然包含一个新行。我想将该消息拆分为2条消息的数组,并且我想explode()与结合使用以PHP_EOL实现多操作系统功能,但令我感到惊讶的是,它不起作用。

explode(PHP_EOL, $str); // Array( [0] => "Divakat has attacked Gergana, dealing 591 physical damage. ( 2 absorbed )
                        // Gergana has died." )

explode("\n", $str); // Array( [0] => ""Divakat has attacked Gergana, dealing 591 physical damage. ( 2 absorbed )", [1] => "Gergana has died." )

我想问一下,为什么第一个示例不能按我预期的那样工作,并且有什么办法可以使它工作,因为我真的不想在其中对新的换行符进行硬编码。谢谢你。

编辑:

我忘了提一下,该消息是在当前正在测试此代码的同一台计算机上创建的。没有操作系统更改。

乔恩

PHP_EOL表示您当前使用的平台的行尾序列。它不能神奇地使字符串中使用的行尾序列与平台的行尾序列相同。

例如,这是一个带有\n(硬编码的Unix EOL)的字符串

$str = "Hello\nWorld";

如果您在Unix系统上运行此命令,它将显示2:

echo count(explode(PHP_EOL, $str));

但是在另一个平台上它将打印1,因为$str它既不包含Windows也不包含Mac EOL序列。

更新:创建输入的位置没有任何区别只有它是如何创建的。您可以在Windows系统上使用Unix EOL轻松创建字符串,只需在其中包含硬编码即可\n

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在新行上爆炸可与“ \ n”一起使用,但不适用于PHP_EOL。为什么?

来自分类Dev

Slim终结点可与PHP自己的服务器一起使用,但不适用于Nginx

来自分类Dev

Slim端点可与PHP自己的服务器一起使用,但不适用于Nginx

来自分类Dev

元组可与nullptr一起使用,但不适用于NULL

来自分类Dev

Datepicker可与浏览器Google Chrome一起使用,但不适用于Firefox

来自分类Dev

postfix-dovecot电子邮件发送可与松鼠邮件一起使用,但不适用于Thunderbird?

来自分类Dev

OpenSSL创建的证书颁发机构可与Windows 10一起使用,但不适用于Ubuntu

来自分类Dev

postfix-dovecot电子邮件发送可与松鼠邮件一起使用,但不适用于Thunderbird?

来自分类Dev

OpenVPN配置文件可与CLI一起使用,但不适用于网络管理器

来自分类Dev

yii2中,“ andFilterWhere”可与“ joinWith()”一起正常工作,但不适用于“ with()”

来自分类Dev

ASP.NET 5 Web应用程序可与web.cmd一起使用,但不适用于IIS应用程序

来自分类Dev

Visual Studio中的.net核心可与控制台应用程序一起使用,但不适用于wpf或winforms

来自分类Dev

为什么PHP_EOL在每一行的末尾写\ r \ n

来自分类Dev

PHP-CPP新扩展适用于cli'php'命令,但不适用于浏览器

来自分类Dev

为什么这个 C++ 程序适用于第一行输入而不适用于第二行或第三行?

来自分类Dev

Rest API调用可与curl配合使用,但不适用于PowerShell

来自分类Dev

“适用于GAE渠道的Java客户端”是否可与Android和iOS的libgdx一起使用?

来自分类Dev

Rxjava:插入仅适用于单个但不适用于可填充

来自分类Dev

webgl照明着色器与Firefox一起使用,但不适用于chrome

来自分类Dev

websocket与http模块一起使用,但不适用于express(node.js)

来自分类Dev

Coldfusion 11 REST Service与HTTP一起使用,但不适用于HTTPS(404)

来自分类Dev

React JS + React Router与$ .get一起使用,但不适用于$ .ajax PUT

来自分类Dev

队列与Azure存储(经典)一起使用,但不适用于现代存储

来自分类Dev

RelativeLayout中的layout_marginRight可在Android 17上使用,但不适用于22

来自分类Dev

grep命令可在Ubuntu上使用,但不适用于Fedora

来自分类Dev

MKAnnotation setImage可在iPhone上使用,但不适用于iPad / iPhone 6+

来自分类Dev

查询适用于 Windows 上的 MySQL,但不适用于 Ubuntu 上的 Mysql

来自分类Dev

std :: cin适用于少量的行,但不适用于较大的行

来自分类Dev

MIEngine 调试适用于启动,但不适用于 Linux 上的附加

Related 相关文章

  1. 1

    在新行上爆炸可与“ \ n”一起使用,但不适用于PHP_EOL。为什么?

  2. 2

    Slim终结点可与PHP自己的服务器一起使用,但不适用于Nginx

  3. 3

    Slim端点可与PHP自己的服务器一起使用,但不适用于Nginx

  4. 4

    元组可与nullptr一起使用,但不适用于NULL

  5. 5

    Datepicker可与浏览器Google Chrome一起使用,但不适用于Firefox

  6. 6

    postfix-dovecot电子邮件发送可与松鼠邮件一起使用,但不适用于Thunderbird?

  7. 7

    OpenSSL创建的证书颁发机构可与Windows 10一起使用,但不适用于Ubuntu

  8. 8

    postfix-dovecot电子邮件发送可与松鼠邮件一起使用,但不适用于Thunderbird?

  9. 9

    OpenVPN配置文件可与CLI一起使用,但不适用于网络管理器

  10. 10

    yii2中,“ andFilterWhere”可与“ joinWith()”一起正常工作,但不适用于“ with()”

  11. 11

    ASP.NET 5 Web应用程序可与web.cmd一起使用,但不适用于IIS应用程序

  12. 12

    Visual Studio中的.net核心可与控制台应用程序一起使用,但不适用于wpf或winforms

  13. 13

    为什么PHP_EOL在每一行的末尾写\ r \ n

  14. 14

    PHP-CPP新扩展适用于cli'php'命令,但不适用于浏览器

  15. 15

    为什么这个 C++ 程序适用于第一行输入而不适用于第二行或第三行?

  16. 16

    Rest API调用可与curl配合使用,但不适用于PowerShell

  17. 17

    “适用于GAE渠道的Java客户端”是否可与Android和iOS的libgdx一起使用?

  18. 18

    Rxjava:插入仅适用于单个但不适用于可填充

  19. 19

    webgl照明着色器与Firefox一起使用,但不适用于chrome

  20. 20

    websocket与http模块一起使用,但不适用于express(node.js)

  21. 21

    Coldfusion 11 REST Service与HTTP一起使用,但不适用于HTTPS(404)

  22. 22

    React JS + React Router与$ .get一起使用,但不适用于$ .ajax PUT

  23. 23

    队列与Azure存储(经典)一起使用,但不适用于现代存储

  24. 24

    RelativeLayout中的layout_marginRight可在Android 17上使用,但不适用于22

  25. 25

    grep命令可在Ubuntu上使用,但不适用于Fedora

  26. 26

    MKAnnotation setImage可在iPhone上使用,但不适用于iPad / iPhone 6+

  27. 27

    查询适用于 Windows 上的 MySQL,但不适用于 Ubuntu 上的 Mysql

  28. 28

    std :: cin适用于少量的行,但不适用于较大的行

  29. 29

    MIEngine 调试适用于启动,但不适用于 Linux 上的附加

热门标签

归档