我将一些字符串(例如“hello \ n World”)发布到php脚本然后将此数据发送到API但API似乎没有检测到\ n而不是创建新行并按原样打印它们(“你好\ n世界“)。我就是这样做的:
uploadPhoto($photo->getFile(), ['caption' => $_POST['caption']]);
但当我这样做时:
uploadPhoto($photo->getFile(), ['caption' => "Hello \n World"]);
API检测到它并显示:
您好
世界
我该怎么做$ _POST ['caption']部分才能使这个工作?
答案 0 :(得分:0)
您的字符串可能包含两个字符,反斜杠和n
。在代码中直接编写字符串时,它们只被PHP解释为转义序列(生成换行符)。您的输入只是一系列收到的字符,而不是PHP双引号字符串。
如果您只关心换行符,可以使用简单的str_replace()
:
$caption = str_replace('\n', "\n", $_POST['caption']);
uploadPhoto($photo->getFile(), ['caption' => $caption]);
请注意使用单引号和双引号。第一种情况与您的输入类似。