0

我有 html (php) 格式的表单。此表单包括文本区域,用于将来自交换机、路由器等的日志保存到数据库。
终端的命令行通常有 80 个列(在线字节),所以我将属性列设置为 80。

<tr>
  <td><label for="taskText">Text:</label> </td>
  <td><textarea name="taskText" id="taskText" cols="80" rows="10" required></textarea></td> 
</tr>

动机:我为什么要这样做?我在数据库中有一个表,它有这个列 id (INT-autoincrement)、log1(TEXT)、log2(TEXT)。

用户将两个日志保存到数据库中,然后我从数据库中获取它们并将 log1 保存到字段 $log1 并将 log2 保存到字段 $log2,其中 $log1 将是数组,其中键将是行。
例如:`

$log1[0]="line1";
$log1[1]="line2";
$log1[2]="line3";`

问题:所以问题是将日志文本复制到textarea,然后将其正确保存到数据库(MYSQL)到TEXT类型的字段(我选择了这个希望很好)并保留了行尾(不知何故),然后加载从数据库到数组的日志,其中每个键都是一行(例如现在没有行尾标记的示例)。
我的解决方案
在保存到数据库之前使用函数 nl2br 并在从数据库加载期间使用函数爆炸:

$log1=explode("<br />", $stringWithLogLoadedFromDatabase);

但我不确定这是否是一个好的解决方案。还有其他想法吗?

注意:
我在那里写了我的解决方案的一些背景,但主要问题只是输入文本(日志)的行尾,我将其复制到文本区域并保存到数据库中。所以我现在需要知道原来的行尾在哪里才能使用这些行。

4

1 回答 1

0

您可以尝试以下方法,

在字符串上使用htmlspecialchars()以放入数据库,然后在将其拉出时使用htmlspecialchars_decode().

这两个可能会根据您的查询进行输出。

于 2012-12-20T10:45:15.227 回答