用户操作
[即时聊天] [发私信] [加为好友]
王金波ID:ggggqqqqihc
34485次访问,排名3392(1)好友9人,关注者13
成就不高,玩心不小。
ggggqqqqihc的文章
原创 62 篇
翻译 1 篇
转载 2 篇
评论 18 篇
ggggqqqqihc的公告
新Blog开通,请访问:cn.programmingnote.com
最近评论
teisan:我还是没看懂 到底该怎么改?把你这个代码做成文件后 传服务器使用?我是Windows的空间,能用不?
downdig.chrome:我还是没看懂 到底该怎么改?把你这个代码做成文件后 传服务器使用?我是Windows的空间,能用不?
downdig.chrome:我还是没看懂 到底该怎么改?把你这个代码做成文件后 传服务器使用?我是Windows的空间,能用不?
hzq3554055:正在看 号复杂
henrywon:真的很爱你,这几天一直在找用php发邮件的代码,特别是mail函数,头都大,直到看到你的blog,一下载wordpress一拷贝过来,一测试就oK!太谢谢了!
文章分类
收藏
相册
计算机相关
善用佳软(RSS)
我的其他Blog
夜未眠Blog
(RSS)
深蓝色的空间
存档
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

原创 PHP中的几个文本处理函数收藏

新一篇: 用Scheme实现二分检索树(Binary Search Tree) | 旧一篇: Apache 2.0.59+PHP 4.4.7+MySQL 4.1的安装配置

在Sourceforge上下载了一个名字叫Simple PHP Forum的论坛程序,学了几个文本处理函数。结果试着用刚刚学的东西写了一个简单的留言板,发现了中文乱码问题,解决后感觉又学到了不少新东西。这几个文本函数是:

  • string htmlentities ( string $string [, int $quote_style [, string $charset]] ):将$string中的特殊字符转换成HTML字符。所谓“特殊字符”是诸如“<”、“>”这些被HTML所使用的字符。如果不加转换直接输出到浏览器上,页面就不会显示这些字符或者发生错误。htmlentities将其转换成&lt、&gt等等。在用表单提交文本之前勿必先用它处理一下。
    <?php
    $str = "A 'quote' is <b>bold</b>";

    // Outputs: A 'quote' is &lt;b&gt;bold&lt;/b&gt;
    echo htmlentities($str);

    // Outputs: A &#039;quote&#039; is &lt;b&gt;bold&lt;/b&gt;
    echo htmlentities($str, ENT_QUOTES);
    ?>
  • string nl2br ( string $string ):将$string里的换行符(\n)转换成“<br />”,同样是为了在浏览器中能够正确地显示。这也是在留言本、论坛程序里经常用到的函数。
  • string mysql_escape_string ( string $unescaped_string ):将$unescaped_string转换成可以用mysql_query()查询的字符串。别外,这也是避免非法SQL语句的一个简单方法。举个例子:
    <?php
        
    $item = "Zak's Laptop";
        
    $escaped_item = mysql_escape_string($item);
        
    printf("%s ",$escaped_item); //输出:Zak's Laptop
    ?>

值得注意的是htmlentities默认情况下(即省略后两个可选参数)不能正确处理中文,中文全成乱码了。一开始我还以为是MySQL的问题,试了很多种方法都不起作用,最后终于将目光锁在了htmlentities上。要让它能正确处理中文,需要通过第三个参数指定字符编码。例如使用UTF-8编码,需要写成:htmlentities($string,ENT_QUOTES,"UTF-8")。可选的字符集见http://au.php.net/manual/zh/function.htmlentities.php

htmlentities的第二个参数指定对引号的转换方式,用三个选项(常量):

  • ENT_COMPAT:转换双引号,忽略单引号;
  • ENT_QUOTES:转换双引号和单引号;
  • ENT_NOQUOTES:忽略双引号和单引号。

发表于 @ 2007年07月23日 15:58:00|评论(loading...)|编辑|收藏

新一篇: 用Scheme实现二分检索树(Binary Search Tree) | 旧一篇: Apache 2.0.59+PHP 4.4.7+MySQL 4.1的安装配置

评论:没有评论。

发表评论  


登录
Csdn Blog version 3.1a
Copyright © ggggqqqqihc