我正在尝试在input
字段的值中的两个变量之间添加换行符。
我已尝试过以下脚本(使用html标记<br>
),但input
字段的值显示为4 <br> body
(而不是两个变量之间的换行符) )。
<?php
$variable1 = '4';
$variable2 = 'body';
echo'
<input type="checkbox" value="'.$variable1.' <br> '.$variable2.'">
';
?>
我需要在两个变量之间换行的原因是,在脚本中,input
字段的值输入到数据库中,稍后显示(使用SELECT
)和变量之间的空间是必需的。
是否有纯PHP
解决方案在变量之间包含换行符(而不是使用HTML
)?
答案 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,从而使您的页面无效并且可能会混淆浏览器的渲染器。
解决方案是编码:
<br>