目前共有1篇帖子。 内容转换:不转换▼
 
点击 回复
481 0
【函数】PHP将多行文本框中输入的内容正确地显示到HTML上,且正确处理换行和连续空格的函数
一派护法 十九级
1楼 发表于:2015-12-11 23:39
function textToHTML($text, $filterHTMLChars = true, $ltrim = true, $rtrim = true) {
    if ($filterHTMLChars) {
        $text = htmlspecialchars($text);
    }
    if ($ltrim) {
        $reg = '/^[\n\t\s]*\n/';
        $text = preg_replace($reg, '', $text);
    }
    if ($rtrim) {
        $reg = '/\n[\n\t\s]*$/';
        $text = preg_replace($reg, '', $text);
    }
    $text = str_replace("\t", '    ', $text);
    $text = str_replace(' ', ' ', $text);
    $text = nl2br($text, false);
    return $text;
}
其中,第二个参数决定是否转换HTML特殊字符。比如将<script>转换为&lt;script&gt;
第三个参数决定是否删除内容前多余的空行。
第四个参数决定是否删除内容后多余的空行。
内容中间的空行不会被删除。
\n将会被转换成HTML5的标准换行形式:<br>
如果想要转换成<br />,可将nl2br那一行的第二个参数false去掉。
另外,缩进符\t会被替换成4个空格。
例如,原文:

当该函数的第2~4个参数都保持默认的true的情况下,转换后的内容显示到HTML上是:

回复帖子

内容:
用户名: 您目前是匿名发表
验证码:
(快捷键:Ctrl+Enter)
 

本帖信息

点击数:481 回复数:0
评论数: ?
作者:巨大八爪鱼
最后回复:巨大八爪鱼
最后回复时间:2015-12-11 23:39
 
©2010-2024 Arslanbar Ver2.0
除非另有声明,本站采用知识共享署名-相同方式共享 3.0 Unported许可协议进行许可。