textarea保持文本样式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了textarea保持文本样式相关的知识,希望对你有一定的参考价值。

我将textarea中的文本传入到数据库后,从数据库中读取出来,但读书来的文本和起先输入到textarea中的文本格式不一样,怎样才能将从数据库中输出的格式和写在textarea中的一样啊?
表单提交,如何保持插入数据库的文本样式 ,只使用textarea,在后台怎样替换,请具体点!

    第一种方法采用替换:就是将文本域的换号符号\\r\\n,替换成其他符号,存入数据库,然后显示的时候再转换回来:

    //转换换行符
    $str=preg_replace("/\\r\\n|\\r|\\n/","<br>",$str);

    //转换回来
    $str=preg_replace("/<br>/","\\r\\n",$str);

    第二种方法使用js在线编辑器:使用js来模拟文本域,讲输入都转换成html标签,显示的时候文本就是所见所得格式,这类第三方开发js插件很多,列如UEditor,KindEditor等:

参考技术A 存进去的时候其实是一样,不一样的肯定是显示的时候.
拿换行来说,你在textarea输入的时候,用回车换行.存到数据库里面的是\n或者\r\n.
但是如果你要把数据库的东西读出来显示在页面上的时候,\n是不能直接换行的。
解决的办法有很多,比如不使用textarea输入内容,使用富编辑器,这样寸进数据库的就是html代码了,有“所见即所得”的味道。
或者把数据库读出来的内容放到<pre>标签下包括,可以保留文本格式。如<pre>content</pre>
或者自己手工进行一些字符串替换,把"\n"替换成<br/>等等。。

======
<pre>content</pre>

显示的时候使用pre标签即可本回答被提问者采纳
参考技术B 请使用web编辑器,比如ewebeditor、fck等

改变form里面input,textarea.select等的默认样式

因为在项目中有时候需要照顾到整体的色调问题,所以不得不对表单默认的样式进行更改,以下只是对input里的文本颜色做了更改。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>

        input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
            color:red;
        }
        input:-moz-placeholder, textarea:-moz-placeholder {
            color: red;
        }
        input::-moz-placeholder, textarea::-moz-placeholder {
            color: red;
        }
        input:-ms-input-placeholder, textarea:-ms-input-placeholder {
            color: red;
        }
        select{
            color:pink;
        }
        option{
            color: red;
        }

    </style>
</head>
<body>
<input  name="name" placeholder="this is book">
<textarea placeholder="this is a book"></textarea>
   <select>
    <option value="1">测试1</option>
    <option value="2">测试2</option>
    <option value="3">测试3</option>
    <option value="4">测试4</option>
</select>
<input type="text" size="20" style="background-color:#FFFFFF"
       onfocus="style.color=\'pink\'"
       onblur="style.color=\'blue\'">
<script href="jquery-3.2.1.min.js"></script>
<script>

</script>
</body>
</html>

 

以上是关于textarea保持文本样式的主要内容,如果未能解决你的问题,请参考以下文章

ExtJs - 如何设置 textarea 文本的样式?

Javafx 8 替换 textarea 中的文本并保持格式

如何在 textarea 中格式化或设置文本样式?

保持 textarea 与服务器文本文件同步的最佳方法

Vue.js - 根据文本长度为 textarea 应用 CSS 样式

HTML 在 textarea 中保存文本