最新消息:

PHP函数第17款:文本转HTML格式的函数Text2Html

PHP扩展函数 杨红伟 1151浏览 0评论

一:函数简介

这款函数其实主要用途就在文本框中输入内容,然后将之转义存储到数据库当中,还是那句话,一方面它是为了防止注入,另一方面将之存储为html形式,更好的展现给读者!

演示地址: http://www.ijquery.cn/phpfunction/Text2Html/demo1.php

下载地址: http://www.ijquery.cn/phpfunction/Text2Html/Text2Html.zip

二:函数代码

/**
 *  文本转HTML
 *
 * @param    string  $txt 需要转换的文本内容
 * @return   string
 */
if ( ! function_exists('Text2Html'))
{
    function Text2Html($txt)
    {
        $txt = str_replace("  ", " ", $txt);
        $txt = str_replace("<", "&lt;", $txt);
        $txt = str_replace(">", "&gt;", $txt);
        $txt = preg_replace("/[\r\n]{1,}/isU", "<br/>\r\n", $txt);
        return $txt;
    }
}

三:函数简介与用法

Text2Html($str);

在DEMO中返回的内容,表面看DEMO好像没有什么变化,但看源代码,我们就看到了区别。

没有转义前的代码是:

font color='red'><strong>原字符串显示的内容:</strong></font><越是熟的朋友,对话就越粗鲁;>越是熟的朋友,行为就越猥琐.这样的朋友有没有?

转入后的代码是:

<font color='red'><strong>经函数格式化的内容为:</strong></font>&lt;越是熟的朋友,对话就越粗鲁;&gt;越是熟的朋友,行为就越猥琐.这样的朋友有没有?

很容易看到上边的区别,一个是 大于号> 和小于号< ,一个是 &gt; 和 &lt;。由于我们经过代码分析一下:

str_replace("  ", " ", $txt)

这句话的作用是将两个空格替换为一个中文空格

str_replace("<", "&lt;", $txt)

这句话的作用是将小于号替换为&lt;

str_replace(">", "&gt;", $txt)

这句话的作用是将大于号替换为&gt;

preg_replace("/[\r\n]{1,}/isU", "<br/>\r\n", $txt)

这句话的作用是将 []指匹配里边的任一字符(包括回车符\r换行符\n{1,}表示至少匹配1次,/是模式修正符(即匹配后边的内容)  i 表示忽略大小写 s 表示将字符串视为单行,换行符做普通字符看待,使“.”匹配任何字符, U 表示匹配到最近的字符串。

其实意思就是“只要遇到回车符、换行符中的1个或者N个,不管大小写,都把它视为一行”且把它们替换为<br/>\r\n。

学习表面上看上去简单,其实是一件不容易的事情!!!

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址