编辑数据库输入时在文本框上换行


break lines on a textbox when editing a database input

我有一个正在工作的php crud,现在我需要在更新页面中为文本框提供一些格式,这样用户就可以阅读/编辑很长的描述。我知道我只能使用文本框来编辑函数(文本区域不会呈现数据库中的文本),所以我需要一些表现为多行框的文本框。

我有这个

<input type="text" class="textbox" name='description' value="<?php echo htmlspecialchars($description, ENT_QUOTES);  ?>">

这会将数据库中的内容加载到文本框中,但它会显示一个长文本字符串(最多5000个字符)。

第一次尝试这个CSS,但它将单词分解为字母,无论如何,它只适用于Mac上的Safari。

.textbox{
    width: 300px;
    height: 200px;
    resize: none;
    word-wrap: break-word;
    word-break: break-word;
}

与其他

.textbox{
    width: 300px;
    height: 200px;
    resize: none;
    word-wrap: normal;
    word-break: normal;
}

但是什么都不做。。。因此,我正在寻找新的想法,也许可以使用javascript/jquery或其他解决方案。

任何想法。。。

正如其他人所评论的,您所描述的行为正是TextArea的行为。下面是一个使用上面描述的样式的工作示例,保留了提供的PHP代码。

.TextArea {
  height: 200px;
  width: 300px;
}
<textarea class="TextArea" name='description'>
  <?php echo htmlspecialchars($description, ENT_QUOTES);  ?>
</textarea>

编辑:文本区域应该使用内部内容,而不是像最初复制的那样使用value属性。我已经有很长一段时间没有使用PHP了,但我没有看到插入错误。