作者共發了1篇帖子。 內容轉換:不轉換▼
 
點擊 回復
497 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)
 

本帖信息

點擊數:497 回複數:0
評論數: ?
作者:巨大八爪鱼
最後回復:巨大八爪鱼
最後回復時間:2015-12-11 23:39
 
©2010-2024 Arslanbar Ver2.0
除非另有聲明,本站採用創用CC姓名標示-相同方式分享 3.0 Unported許可協議進行許可。