php中的新行(\ n)收到了帖子数据

时间:2017-11-30 13:38:28

标签: php

我将一些字符串(例如“hello \ n World”)发布到php脚本然后将此数据发送到API但API似乎没有检测到\ n而不是创建新行并按原样打印它们(“你好\ n世界“)。我就是这样做的:

uploadPhoto($photo->getFile(), ['caption' => $_POST['caption']]);

但当我这样做时:

uploadPhoto($photo->getFile(), ['caption' => "Hello \n World"]);

API检测到它并显示:

您好

世界

我该怎么做$ _POST ['caption']部分才能使这个工作?

1 个答案:

答案 0 :(得分:0)

您的字符串可能包含两个字符,反斜杠和n。在代码中直接编写字符串时,它们只被PHP解释为转义序列(生成换行符)。您的输入只是一系列收到的字符,而不是PHP双引号字符串。

如果您只关心换行符,可以使用简单的str_replace()

$caption = str_replace('\n', "\n", $_POST['caption']);
uploadPhoto($photo->getFile(), ['caption' => $caption]);

请注意使用单引号和双引号。第一种情况与您的输入类似。