Léo*_* 준영 0 php postgresql newline enter
如何保存用户在数据库中给出的"输入"并将其显示给其他用户?
我存储用户的问题并使用以下函数分别清理用户数据,准备和执行SQL命令.
pg_escape_string
pg_prepare
pg_execute
Run Code Online (Sandbox Code Playgroud)
我用htmlentities与ENT_QUOTES将数据转换成HTML.此过程将删除所有输入,显然是在问题中以\n的形式.
我希望有一个类似的问题系统,如SO:显示只有双重进入用户作为换行符.
打电话后htmlentities(),打电话nl2br().Web浏览器忽略纯字符换行符,因此您需要将它们转换为<br />元素以使其显示.
nl2br- 在字符串中的所有换行符之前插入HTML换行符描述
string nl2br ( string $string [, bool $is_xhtml= true ] )
在所有换行符之前 返回字符串<br />或<br>插入.
例如:
echo nl2br(htmlentities($input));
Run Code Online (Sandbox Code Playgroud)
要仅显示双换行并忽略单换行,您可以改为使用更复杂的字符串替换函数preg_replace:
echo preg_replace('/\n\s*\n/', "<br />\n<br />\n", htmlentities($input));
Run Code Online (Sandbox Code Playgroud)
这里'/\n\s*\n/'匹配换行符,后跟任意数量的空格,后跟另一个换行符.它用两个<br />元素替换任何这样的子串.单个换行符将被忽略.它也很好,因为它会忽略不可见的无关空格和标签,例如,如果用户输入了以下内容:
这是一个段落.
\n
它很短.\n
<space><tab>\n
这是另一段.\n
它也很短.
| 归档时间: |
|
| 查看次数: |
863 次 |
| 最近记录: |