在元素内部添加换行符';s值在两个变量之间


Adding a line break inside an element's value between two variables

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

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

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

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

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

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

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

结果:

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

然后在显示器上使用CCD_ 10。


如果您希望使用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。

在数据库中存储HTML通常是一个糟糕的想法。(也有一些例外,例如CMS。)

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

解决方案是对其进行编码:

&lt;br&gt;