我有一个脚本可以在文本区域中打印文件的内容,以便对文件的内容进行更改,然后对其进行更新。
$file_content = file_get_contents($filename);
if (isset($_POST['text']))
file_put_contents($filename, $_POST['text']);
<textarea name="text" wrap="hard">
echo htmlspecialchars($file_content, ENT_QUOTES, 'UTF-8');
</textarea>
为了使文本区域编辑表单“看起来更好”,我添加了wrap="hard"
属性,以便无需水平滚动即可查看文件的内容。
此属性的问题在于,当将一行中的句子自动换行时:使用表格更新文件后,自动换行在文件内容中也有效,添加新行\n
在包装好的句子中。
有什么办法可以避免这种情况?
答案 0 :(得分:2)
我会推荐style="resize: vertical;
,并确保您使用cols
和rows
属性尽可能大方。
这将避免生成不需要的换行符,并消除了水平滚动的可能性。
我在https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_textarea_wrap进行了快速/肮脏测试
正如@Funk所说,overflow-x: hidden
是另一种有效的样式设置技术。
但是,文本区域的默认行为是无论如何都要为您包装它。您是否将其他样式应用到了您尚未告诉我们的元素上?文本区域是否受其他元素限制?