Sum*_*pta 9 php mysql database-design types
[我的编辑新问题]
我正在以HTML格式输入文本输入<textarea>.假设用户输入以下文本:
1. Hello World
2. Hi World
3. Hola
Run Code Online (Sandbox Code Playgroud)
我的PHP代码插入到表中: 1. Hello World\r\n2. Hi World\r\n\r\n3. Hola
我使用下面的方法将此文本显示为DIV元素(假设$text从数据库中检索):
<div><?php echo $text ?></div>
我得到的输出是: 1. Hello World 2. Hi World 3. Hola
如何获得用户输入的确切输出?现在唯一重要的是空格,制表符和换行符.如下面的答案所述,nl2br()不建议.还有其他方法吗?
[我的老问题] 我想将格式化文本存储到mysql表中.格式化,我的意思是保留适当的粗体字符,斜体,下划线,空格,制表符,标点符号,换行符等.
如果上述情况不可行,如果我可以保留以下格式,那么我的要求也会得到满足:
是否有可以存储此类数据的数据类型?那些VARCHAR,TEXT和CHAR数据类型呢?请帮忙!
例如:如果我键入以下文本:
Hi!
Hello there!
Run Code Online (Sandbox Code Playgroud)
那么它不应该打印出来
Hi! Hello there!
Run Code Online (Sandbox Code Playgroud)
原始文本仅包含字符,不包括粗体,斜体或下划线等格式.标签,标点符号和换行符是字符,因此如果你真正需要的话就是一个简单的varchar.
但是如果你想要粗体,斜体和带下划线的文本,你必须决定格式化协议:HTML,wiki语法,RTF等.如果这种格式是文本的,varchar就可以.如果它是二进制的,你需要一个blob.
如果您的文本中有换行符并且它显示在一行中,则可能是因为您将其输出到HTML页面中,其中空格字符序列(制表符,空格,换行符等)将转换为简单空格.使用一个<pre>your HTML-escaped text here</pre>部分,它将正确显示换行符,制表符和多个空格.
我想你可以用 来存储utf_encode()。并通过 获取它utf_decode()。可以看到n12brPHP的功能。
- 编辑 -
我使用base64_encode()和 进行加密,以便我使用base64_decode().
制表符、空格和特殊字符将被保留。
| 归档时间: |
|
| 查看次数: |
26676 次 |
| 最近记录: |