在两个变量之间的元素值中添加换行符

时间:2016-05-07 16:26:03

标签: php html

我正在尝试在input字段的值中的两个变量之间添加换行符。

我已尝试过以下脚本(使用html标记<br>),但input字段的值显示为4 <br> body(而不是两个变量之间的换行符) )。

<?php
$variable1 = '4';
$variable2 = 'body';

echo'
<input type="checkbox" value="'.$variable1.' <br> '.$variable2.'">
';
?>

我需要在两个变量之间换行的原因是,在脚本中,input字段的值输入到数据库中,稍后显示(使用SELECT)和变量之间的空间是必需的。

是否有纯PHP解决方案在变量之间包含换行符(而不是使用HTML)?

2 个答案:

答案 0 :(得分:1)

根据我们的讨论,该问题的解决方案最终使用\n在HTML源代码和屏幕上使用换行符:

echo '<input type="checkbox" value="'.$variable1. "\n" . $variable2.'">'.$variable1.' <br> '.$variable2.'';

导致:

<input type="checkbox" value="4
body">4 <br> body

然后在显示屏上使用nl2br()

如果您希望使用PHP的PHP_EOL常量,则语法为:

echo '<input type="checkbox" value="'.$variable1.PHP_EOL.$variable2.'">'.$variable1.' <br> '.$variable2.'';

\r\n

echo '<input type="checkbox" value="'.$variable1. "\r\n" . $variable2.'">'.$variable1.' <br> '.$variable2.'';

然而,PHP的PHP_EOL常量将涵盖跨平台的操作系统,如DOS / Mac / Unix。

答案 1 :(得分:0)

将HTML存储在数据库中通常是一个糟糕的主意。 (有一些例外,例如使用CMS。)

如果必须,您的任务是确保<br>保留在值中但不会被解析为HTML,从而使您的页面无效并且可能会混淆浏览器的渲染器。

解决方案是编码:

&lt;br&gt;