第4章 数据处理-php字符串的处理-郑阿奇(续)


Posted in PHP onJuly 04, 2011

1.字符串的定义与显示
定义:通过””,''来标志
显示:echo()和print(),但print()具有返回值值,1,而echo()没有,但echo比print()要快,print()能用在复合语句中。
2.字符串的格式化
printf(string $format[,mixed$args])
第一参数是格式字符串,$args是要替换进来的值,prinf(“%d”,$num);
说明,如果想打印一个”%”,必须用”%”,浮点数f,八进制用”0”
3.常用的字符串函数
1.计算字符串的长度
strlen(string $string),说明,1个英文长度1个字符,1个汉字长度为2个字符,空格也算一个字符。
2.将字符串改变大小写
转为小写:strtolower()
转为大写:strtoupper()
将第一个字符大写: ucfirst()
将每个单词的第一个字母大写 ucwords()
3.字符串裁剪。
当一个字符串的首尾有多余的空白字符,如空格、制表符等可以用
string trim(string $str[,string $charlist])
string rtrim(string $str[sring $charlist])
string itrim(string $str[,string $charlist])
表4.1 trim、itrim、rtrim函数的默认删除字符

字 符 ASCII码 意 义
" " 32(0x20) 空格
"\t" 9(0x09) 制表符
"\n" 10(0x) 换行
"\r" 13(0x0D) 回车
"\0" 0(0x00) 空字节
"\x0B" 11(0x0B) 垂直制表符

4.字符串的查找
string strstr(string $a, string $b)
说明:strstr()函数用于查找字符串指针$b在字符串$a中出现的位置,
并返回$a字符串中从$b开始到$a字符串结束处的字符串。
如果没有返回值,即没有发现$b,则返回FALSE。strstr()函数还有一个同名函数strchr()。
5.字符串与ASCII码
4.字符串的比较
比较函数有
strcmp() //区分大小写
strcasecmp()//不区分大小写
strncmp() //比较部分
strncasecmp()//不区分大小写,比较部分
5.字符串的替换
str_replace(search,replace,subject)
说明使用新的字符串replace替换字符串subject中的search字符串
<?php
$str="I love you";
$replace="lucy";
$end=str_replace("you",$replace,$str);
echo $end; //输出"I love lucy"
?>
对大小写敏感,还可实现多对一、多对多的替换,但无法实现一对多的替换。
<?php
$str="What Is Your Name";
$array=array("a","o","A","O","e");
echo str_replace($array, "",$str); //多对一的替换,输出"Wht Is Yur Nm"
$array1=array("a","b","c");
$array2=array("d","e","f");
echo str_replace($array1,$array2, "abcdef"); //多对多的替换,输出"defdef"
?>
substr_replace
替换字符串的一部分。
6.字符串与HTML

7.其它字符串函数
1.字符串与数组
a.字符串转化为数组
explode()函数可以用指定的字符串分割另一个字符串,并返回一个数组
<?php
$str="使用 空格 分割 字符串";
array=explode(" ", $str);
pint_r($array);
输出Array ( [0] => 使用 [1] => 空格 [2] => 分割 [3] => 字符串 )
?>
b.数组转化为字符串
implode(string $glue,array $pieces)
$pieces是保存要连接的字符串的数组,$glue是用于连接字符串的连接符。例如:
<?php
$array=array("hello","how","are","you");
$str=implode(",",$array); //使用逗号作为连接符
echo $str; //输出"hello,how,are,you"
?>
c.字符串的加密函数
md5(); crypt(),但这个函数一旦加密后就无法转化为原来的形式。
4.3实例留言薄内容处理
一个留言簿,留言簿上有Email地址和用户的留言,提取客户的Email地址和留言,要求Email地址中@符号前不能有点“.”或逗号“,”。
将Email地址中@符号前的内容作为用户的用户名,并将用户留言中第一人称“我”修改为“本人”。
<form name="f1" method="post" action=""> 
<font face="方正舒体" size=4>您的Email地址:</font><br> 
<input type="text" name="Email" size=31><br> 
<font face="方正舒体" size=4>您的留言:</font><br> 
<textarea name="note" rows=10 cols=30></textarea> 
<br><input type="submit" name="bt1" value="提交"> 
<input type="reset" name="bt2" value="清空"> 
</form> 
<!--以上是留言簿表单--> 
<?php 
if(isset($_POST['bt1'])) 
{ 
$Email=$_POST['Email']; //接收Eamil地址 
$note=$_POST['note']; //接收留言 
if(!$Email||!$note) //判断是否取得值 
echo "<script>alert('Email地址和留言请填写完整!')</script>"; 
else 
{ 
$array=explode("@", $Email); //分割Email地址 
if(count($array)!=2) //如果有两个@符号则报错 
echo "<script>alert('Email地址格式错误!')</script>"; 
else 
{ 
$username=$array[0]; //取得@符号前的内容 
$netname=$array[1]; //取得@符号后的内容 
//如果username中含有“.”或“,”则报错 
if(strstr($username,".") or strstr($username,",")) 
echo "<script>alert('Email地址格式错误!')</script>"; 
else 
{ 
$str1= htmlspecialchars("<"); //输出符号“<” 
$str2= htmlspecialchars(">"); //输出符号“>” 
//将留言中的“我”用“本人”替代 
$newnote=str_replace("我","本人",$note); 
echo "<font face='黑体' size=4>"; 
echo "用户". $str1. $username . $str2. "您好! "; 
echo "您是". $netname. "网友!<br>"; 
echo "<br>您的留言是:<br>    ".$newnote."<br>"; 
echo "</font>"; 
} 
} 
} 
} 
?>
PHP 相关文章推荐
一个好用的分页函数
Nov 16 PHP
谈谈新手如何学习PHP
Dec 14 PHP
Ajax PHP分页演示
Jan 02 PHP
php 异常处理实现代码
Mar 10 PHP
PHP删除特定数组内容并且重建数组索引的方法.
Mar 25 PHP
php引用返回与取消引用的详解
Jun 08 PHP
PHP与javascript实现变量交互的示例代码
Jul 23 PHP
php读取excel文件的简单实例
Aug 26 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
Dec 21 PHP
PHP使用curl模拟post上传及接收文件的方法
Mar 04 PHP
php bootstrap实现简单登录
Mar 08 PHP
微信利用PHP创建自定义菜单的方法
Aug 01 PHP
第4章 数据处理-php数组的处理-郑阿奇
Jul 04 #PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2
Jul 03 #PHP
PHP和Mysqlweb应用开发核心技术-第1部分 Php基础-2 php语言介绍
Jul 03 #PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
Jul 03 #PHP
PHP的范围解析操作符(::)的含义分析说明
Jul 03 #PHP
一个基于PDO的数据库操作类(新) 一个PDO事务实例
Jul 03 #PHP
PHP array_multisort()函数的使用札记
Jul 03 #PHP
You might like
攻克CakePHP系列一 连接MySQL数据库
2008/10/22 PHP
PHP XML操作的各种方法解析(比较详细)
2010/06/17 PHP
Laravel 加载第三方类库的方法
2018/04/20 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
2020/02/16 PHP
让getElementsByName适应IE和firefox的方法
2007/09/24 Javascript
基于jquery的文本框与autocomplete结合使用(asp.net+json)
2012/05/30 Javascript
js获取多个tagname的节点数组
2013/09/22 Javascript
JavaScript控制各种浏览器全屏模式的方法、属性和事件介绍
2014/04/03 Javascript
jQuery大于号(&gt;)选择器的作用解释
2015/01/13 Javascript
vue2里面ref的具体使用方法
2017/10/27 Javascript
浅谈VUE监听窗口变化事件的问题
2018/02/24 Javascript
Bootstrap 中data-[*] 属性的整理
2018/03/13 Javascript
vue组件中的数据传递方法
2018/05/14 Javascript
Vue组件全局注册实现警告框的实例详解
2018/06/11 Javascript
vue项目中添加单元测试的方法
2018/07/21 Javascript
vue实现动态显示与隐藏底部导航的方法分析
2019/02/11 Javascript
vue+express+jwt持久化登录的方法
2019/06/14 Javascript
ES6 Map结构的应用实例分析
2019/06/26 Javascript
JS中比较两个Object数组是否相等方法实例
2019/11/11 Javascript
[07:57]2018DOTA2国际邀请赛寻真——PSG.LGD凤凰浴火
2018/08/12 DOTA
跟老齐学Python之关于类的初步认识
2014/10/11 Python
Python实现针对json中某个关键字段进行排序操作示例
2018/12/25 Python
python画图--输出指定像素点的颜色值方法
2019/07/03 Python
python绘制双Y轴折线图以及单Y轴双变量柱状图的实例
2019/07/08 Python
pytorch: Parameter 的数据结构实例
2019/12/31 Python
pycharm实现在子类中添加一个父类没有的属性
2020/03/12 Python
在脚本中单独使用django的ORM模型详解
2020/04/01 Python
keras自定义损失函数并且模型加载的写法介绍
2020/06/15 Python
CSS3中background-clip和background-origin的区别示例介绍
2014/03/10 HTML / CSS
大学生求职简历的自我评价
2013/10/14 职场文书
小学防溺水制度
2014/01/29 职场文书
幼儿园安全责任书范本
2014/07/24 职场文书
烟台的海导游词
2015/02/02 职场文书
2015年化工厂工作总结
2015/05/04 职场文书
Java反应式框架Reactor中的Mono和Flux
2021/07/25 Java/Android
Python+pyaudio实现音频控制示例详解
2022/07/23 Python