目前共有1篇帖子。 字体大小:较小 - 100% (默认)▼  内容转换:台灣正體▼
 
点击 回复
735 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)
 

本帖信息

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