鱼C论坛

 找回密码
 立即注册
查看: 2733|回复: 2

[PHP API档案] addcslashes

[复制链接]
发表于 2014-9-12 18:36:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 大麦田 于 2014-9-12 18:38 编辑

以 C 语言风格使用反斜线转义字符串中的字符。
函数原型:
  1. string addcslashes  ( string $str  , string $charlist  )
复制代码

函数功能:

  1. 字符串$str中,所有属于参数 $charlist 列表中的字符,前面都加上了反斜线。
复制代码

函数参数:

参数含义
$str要转义的字符
$charlist如"A..Z",将转义所有大写字母。那 "Z..A" 呢?


函数实例:

  1. <?php

  2. //将转义所有ASCII码在97-122之间字符 A-z
  3. $not_escaped = "[ The quick brown fox jumps over a lazy dog. ]";

  4. //第一种做法 A..z 相当于 A-z的意思,ascii码小的写前面,大的写后面
  5. $escaped = addcslashes($not_escaped, 'A..z');
  6. echo $escaped;
  7. echo "<br />"; //html显示的换行

  8. ?>
复制代码

进阶:
  1. <?php
  2. //上面的结果,和下面哪个的结果一致呢?
  3. $not_escaped = "[ The quick brown fox jumps over a lazy dog. ]";
  4. $escaped_ascii = addcslashes($not_escaped, "\65..\122");
  5. $escaped_dec = addcslashes($not_escaped, "\101..\172");

  6. echo $escaped_ascii;
  7. echo "<br />";

  8. echo $escaped_dec;
  9. echo "<br />";

  10. //原因是 \xxx表示8进制数字;
  11. //而\101 和 \172 是八进制的 65|A 和 97|z
  12. ?>
复制代码

  1. <?php
  2. //提供一个简易计算函数
  3. function ascii_to_dec($char)
  4. {
  5.     $ascii = ord($char); //求得$char的ascii码
  6.     return decoct($ascii); //将ascii码转化为八进制形式,返回
  7. }

  8. echo ascii_to_dec('A');
  9. echo " ";
  10. echo ascii_to_dec('z');
  11. echo "<br />";

  12. ?>
复制代码


注意事项:

当$charlist中   包含字符    0,  a,  b, f,  n, r,   t  和 v 转义时,
                       将被转换成 \0,\a,\b,\f,\n,\r,\t 和 \v

PHP 中,只有 \0(NULL),\r(回车符),\n(换行符)和 \t(制表符)是预定义的转义序列。
C 语言中,上述的所有转换后的字符都是预定义的转义序列。





本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-10-1 01:39:34 | 显示全部楼层
谢谢分享资源
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-6 14:21:13 | 显示全部楼层

多谢关注,如果对你学习php有帮助,我会抽空继续更新的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 22:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表