Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP回显字符串中使用行尾_Php - Fatal编程技术网

在PHP回显字符串中使用行尾

在PHP回显字符串中使用行尾,php,Php,我正在尝试编写一个PHP脚本,它echos是一个字符串,但它无法识别其中的行尾函数 比如说, echo "thank you \n " echo "for coming over" \n被忽略,它将整行打印为谢谢您的光临 我得到了以下相同的结果: echo "thank you " . PHP_EOL.; echo "for coming over" . PHP_EOL.; 如果在浏览器中执行此操作,请将\n替换为。文件换行符不会在HTML页面中呈现,除非通过CSS指定或包含在某些标记中。您

我正在尝试编写一个PHP脚本,它
echo
s是一个字符串,但它无法识别其中的行尾函数

比如说,

echo "thank you \n "
echo "for coming over"
\n
被忽略,它将整行打印为
谢谢您的光临

我得到了以下相同的结果:

echo "thank you " . PHP_EOL.;
echo "for coming over" . PHP_EOL.;

如果在浏览器中执行此操作,请将
\n
替换为

。文件换行符不会在HTML页面中呈现,除非通过CSS指定或包含在某些标记中。您也可以选择将文件类型更改为
text/plain
,但我认为这不是您想要的。

从浏览器中检查网页的来源,会有一行新的内容。因为在HTML中,诸如换行符、制表符或空格之类的空白被忽略,所以在浏览器中看不到它们。您需要使用

等来打印所需内容。

有不同的解决方法:

使用预先格式化的文本 现在,您的浏览器将正确地以文本形式读取输出

使用HTML break元素
echo“谢谢你”
\n; 回音“欢迎光临”;

所以输出总是取决于您想要输出的内容。是文本吗?是HTML吗?它是HTML中的一些文本吗?根据您的需要,您应该注意格式和格式。

如果您想打印包含html中eol的文本,请试一试

它将在所有EOL之前添加HTML换行符。

试试这个 通常你可以使用

echo "thank you ".PHP_EOL."";
echo "for coming over".PHP_EOL."";

尝试插入

。查看源代码,您将看到新行已插入。只是浏览器忽略了新行。可能的重复项是输出到浏览器还是命令行(或其他地方)?因为浏览器忽略空白,包括换行符,除非在某些标记中或存在某些样式。你需要澄清你的问题。下面的大多数答案都假设您正在输出到浏览器。为什么在
PHP_EOL
之后出现点?我刚刚修复了您的代码(缺失;并且),希望可以。与使用预格式化文本相关,也可以使用css属性。
nl2br()
函数会自动为您执行此操作。
header('Content-Type: text/plain');
echo "thank you \n ";
echo "for coming over";
echo "thank you <br>\n ";
echo "for coming over";
$str = "thank you \n ";
$str .= "for coming over";
nl2br($str);
 echo "thank you <br>";
 echo "for coming over<br>";
echo "thank you ".PHP_EOL."";
echo "for coming over".PHP_EOL."";