php中如何换行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php中如何换行相关的知识,希望对你有一定的参考价值。

$sum=1;
while($sum<6)

echo "$sum \n"; //每输出一个字符都换行,请不要使用<br />
$sum++;

结果浏览器并没有换行,请解释其中原因并给出期望的代码,很简单的........
请高手解答...........

用正则的换行,结束位置加上 \\n。例如:$text = “我是文本\\n”。

    简介:

    php,一个嵌套的缩写名称,是英文超级文本预处理语言的缩写。PHP 是一种 html 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言。

    安装:

    它可以比 CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

    发展:

    PHP原始为 Personal Home Page的缩写,现已经正式更名为 "PHP: Hypertext Preprocessor"的缩写。注意不是“Hypertext Preprocessor”的缩写,这种将名称放到定义中的写法被称作递归缩写。PHP于19  ISAPI筛选器94年由Rasmus Lerdorf创建,刚刚开始是Rasmus Lerdorf 为了要维护个人网页而制作的一个简单的用Perl语言编写的程序。最初这些工具程序用来显示 Rasmus Lerdorf 的个人履历,以及统计网页流量。

参考技术A 用正则的换行,结束位置加上 \n。例如:$text = “我是文本\n”。

简介:

PHP,一个嵌套的缩写名称,是英文超级文本预处理语言的缩写。PHP 是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言。



安装:

它可以比 CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

发展:

PHP原始为 Personal Home Page的缩写,现已经正式更名为 "PHP: Hypertext Preprocessor"的缩写。注意不是“Hypertext Preprocessor”的缩写,这种将名称放到定义中的写法被称作递归缩写。PHP于19 ISAPI筛选器94年由Rasmus Lerdorf创建,刚刚开始是Rasmus Lerdorf 为了要维护个人网页而制作的一个简单的用Perl语言编写的程序。最初这些工具程序用来显示 Rasmus Lerdorf 的个人履历,以及统计网页流量。
参考技术B PHP如何使用换行符?
在PHP脚本中有时需要进行换行输出,那么如何进行换行?下面本篇文章就来给大家介绍一下在PHP中如何使用换行符进行换行,希望对大家有所帮助。

方法一:使用PHP换行符

换行符是用于逃避继续使用相同行的分隔符。这是为了将冗长的线分成小的,易读的块,逐行显示。PHP允许通过使用转义序列或预定义常量来添加这些换行符,如下所示:

1、\n(或 \r\n)换行:这是在内容之间添加实际换行符的PHP转义序列之一。

2、PHP_EOL:此预定义常量用作行尾的表示,从而可以进行换行。

注意:这两种PHP转义符号仅在双引号内有效。如果我们有单引号括起来的内容,那么我们应该像往常一样按Enter键来指定换行符。例如,

$content = 'PHP换行符

由转义序列添加

工作正常' ;

但是,在单引号内,我们只能使用静态数据。相反,如果我们想要动态插值PHP变量,那么我们需要使用双引号。

PHP换行符的使用示例

<?php

$content1 = "PHP换行符\r\n由转义序列添加\n工作正常\n\n";// OR

$content2 = "PHP换行符".PHP_EOL ."通过PHP_EOL添加" .PHP_EOL ."工作正常";

echo $content1 ;

echo $content2 ;

?>

效果图(查看源代码):

2.jpg

在上面的代码中,我们可以注意到\n(或 \r\n)是在没有任何PHP点(.)分隔符的情况下使用,而在使用PHP_EOL作为换行符时需要它来识别它是PHP预定义常量。

注:PHP换行符只会使源代码换行,而浏览器显示的内容不换行;

方法二、使用HTML换行符<br />

在PHP中,HTML代码会被当成字符串,然后在浏览器中被解析。而<br />可以使浏览器显示的内容换行,但源代码不换行。

<?php

$content= "PHP使用<br>换行<br>工作正常";// OR

echo $content ;

?>

效果图:

浏览器查看:

3.jpg

源代码查看:

4.jpg

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。
参考技术C <br />是HTML代码,\n是ASCII码,浏览器解析的是HTML码,不是ASCII码,
你用\n后,浏览器看不到换行,但你查看页面的源文件,你可以看到代码原来有\n的地方会出现换行,就是因为\n可以在文本文件中看到,但<br
/>却是HTML显示换行,呵呵本回答被提问者采纳
参考技术D 如果是输出给浏览器,就用<br/>
如果是输出到自己的文件里,就用"\n",windows下是"\r\n"
\n的作用是给源代码换行,不是在浏览器直接看到换行效果。

PHP:电报机器人:在短信中插入换行符

【中文标题】PHP:电报机器人:在短信中插入换行符【英文标题】:PHP: Telegram Bot: Insert line break to text message 【发布时间】:2015-11-01 17:11:36 【问题描述】:

"\n""\r\n",在电报机器人发送的短信中进行测试,以创建换行符。使用后将出现下划线_,而不是显示换行符。

如何在机器人发送的电报消息中打印换行符?

代码

$txt = 'با تشکر از عضویت شما، هر روز حدود ساعت 10 شب یک ویدئوی جالب برای شما ارسال خواهد شد.';
$txt .= " \n ";
$txt .= 'Thanks for joining, Every day at almost 18:30 GMT an intersting video will be sent';

消息演示

任何帮助将不胜感激。

【问题讨论】:

@Dagon 非常感谢,第一个只是复制消息并打印两次,但第二个完成这项工作。请问这些代码的来源在哪里? 谷歌对我的第一次点击是:twilio.com/help/faq/sms/… 一个简单的\n 应该可以工作,您使用的机器人管理器可能会在发送消息之前进行一些清理。我正在使用 nodejs,\n 工作得很好。 【参考方案1】:

还有更好的方法!问题是由于 URL 编码... 您可以使用\n 使用普通的 PHP 文本,但通过将其传递给 urlencode 方法,如下所示:

$txt = urlencode("here is my text.\n and this is a new line \n another new line");

它对我有用!

【讨论】:

对不起 Majid,现在我测试另一个答案,所有选项都失败了,所以我取消选中他的答案并检查你的 urlencode 对我不起作用(它对所有内容进行编码,包括空格)。如果您像我一样习惯使用单引号, \n 必须用双引号: $text = 'my text' 。 "\n";【参考方案2】:

1) 如果您在 Windows/Linux 操作系统中开发代码,您可以简单地使用 enter in text:

$text = 'test 123
         another text';

就是这样!

2) 如果您的代码在 Windows/Linux 服务器上运行,您可以使用 PHP_EOL 常量而不是 \n

$text = 'text 123 '.PHP_EOL.'yet another text';

3) 如果您搜索独立于操作系统的解决方案,您可以为此目的使用%0Achr(10)

$text = 'text 123 '.chr(10).'yet another text';

【讨论】:

@Majid 因为你在 Mac 上!在 iOS 中,PHP_EOL 和换行符等于%0D(或\r)。但在 linux 和 windows 中,PHP_EOL 和换行符等于%0A(或\n)和%0D%0A(或\r\n)。 @Majid 我为你添加第三种方式:) 感谢您考虑这个问题。我在 Mac 上,但运行 PHP 代码的服务器是 Internet 上的 linux 服务器!无论如何感谢您添加第三种方式:-)【参考方案3】:

对于未来的访客,我只是在 cmets 中引用@Dagon 的答案:

使用%0A 将在电报消息中换行

【讨论】:

这应该是公认的答案。 urlencode 函数与语言无关。在任何环境或语言中使用电报 API 时,您的解决方案都有效。【参考方案4】:

在波斯语等 Unicode 语言中,它可能无法显示您想要的结果! 您可以准备文本并使用它:

$txt = implode("\n", explode('\n', $txt));

【讨论】:

【参考方案5】:

为了避免编码和编码问题,我在我的代码中使用了这个简单的解决方案:

首先,我通过在“sendMessage” URL 中设置 parse_mode=HTML 参数以 HTML 格式发送我的文本消息。

然后,我在每个换行符处插入以下代码:

&lt;pre&gt;\n&lt;/pre&gt;

即。

... sendMessage?parse_mode=HTML&text="... paragraph1<pre>\n</pre>paragraph2 ..."

当然 text 变量在附加到 URL 之前已被 curl 转义:

$text = curl_escape($handle, $text);

【讨论】:

【参考方案6】:

在阅读并尝试了所有这些答案之后,我只想发布自己的解决方案。我在 Laravel 5.8 中有一个应用程序,它通过电子邮件和电报消息发送预订。

$telegramMessage = 
        "<strong>Reservation Request</strong>\n".
         '<strong>Name:</strong> ' . $reservation->reserv_name . "\n".
         '<strong>E-mail:</strong> <a href="mailto:' . $reservation->email . '"> ' . $reservation->email . "</a>\n".
         '<strong>Phone:</strong> ' . $reservation->phone . "\n".
         '<strong>Reservation Date/Time:</strong> ' . $reservation->reserv_date_time->format('d-m-Y H:i') . "\n".
         '<strong>Number of people:</strong> ' . $reservation->number_of_people . "\n".
         '<strong>Message:</strong> ' . $reservation->reserv_message . "\n";

Telegram::sendMessage([
            'chat_id' => env('TELEGRAM_CHAT_ID', ''),
            'parse_mode' => 'HTML',
            'text' => $telegramMessage,
        ]);

我或多或少使用了 Telegram API 允许的所有 html 标签。请注意 \n 必须用双引号括起来。

【讨论】:

【参考方案7】:

您可以使用 %0A 代替 \n。

【讨论】:

【参考方案8】:

所有这些答案同时是“正确”和“错误”。事实上,这取决于你的很多输入。例如,如果您有一个文本区域供输入,然后将内容发送到 Telegram,如果用户在文本区域中写入并按回车,则 Telegram 中的文本将是

       hello\neverybody 

而不是

       hello
       everybody

执行 URL 编码不会有任何改变。经过一番挣扎后,我发现将文本区域数据从一个页面发送到另一个页面会转义一些数据这一事实存在冲突。

我解决这个问题的方法是将转义的 \n 替换为非转义的。 所以:

      $my_msg = str_replace("\\n","\n",$my_msg);

它适用于 Mac、PC 等,带有来自文本区域的文本。

【讨论】:

【参考方案9】:

我是这样解决问题的:

$txt = 'aaaaaaaaa\nnew line1 \nnewline2';
$parameters = array('chat_id' => $chatId, "text" => $txt);

$parameters["method"] = "sendMessage";
echo json_encode($parameters);

在这里试试:https://telegram-bot-sdk.readme.io/docs/sendmessage

【讨论】:

【参考方案10】:

你应该使用 urlencode 来解决这个问题:

$text ="sth sth
sth sth";
$text = urlencode($text);

【讨论】:

【参考方案11】:

对我来说,这个解决方案有效: 使用双引号

$message='Hi'
$message=$message."\n";
$message=$message.'Guys'

【讨论】:

【参考方案12】:

试试这样的东西,它对我有用,你需要添加参数 parse_mode。

$text = "exampletest \n example"

或类似的东西:

$text1 = 'example';
$text2 = 'next';
$data = $text1 . "\n" . $text2;

https://core.telegram.org/bots/api#formatting-options

【讨论】:

【参考方案13】:

很容易从任何地方复制断行来传递代码。 enter image description here

【讨论】:

欢迎来到 Stack Overflow!虽然这段代码可以解决问题,including an explanation 解决问题的方式和原因确实有助于提高您的帖子质量,并可能导致更多的赞成票。请记住,您正在为将来的读者回答问题,而不仅仅是现在提问的人。请edit您的答案添加解释并说明适用的限制和假设。

以上是关于php中如何换行的主要内容,如果未能解决你的问题,请参考以下文章

flex-box 中的行换行未在 Safari 中换行

用于打印输出的明智的 python 源代码行换行

python给word添加换行换页符

SqlServer查询数据行中是不是有换行

求BAT命令把TEXT里面的内容全部换行;谢谢!

java 控制台输出换行