第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 相关文章推荐
简单采集了yahoo的一些数据
Feb 14 PHP
php全角字符转换为半角函数
Feb 07 PHP
php缩放gif和png图透明背景变成黑色的解决方法
Oct 14 PHP
ThinkPHP实现二级循环读取的方法
Nov 03 PHP
PHP嵌套输出缓冲代码实例
May 12 PHP
PHP封装的字符串加密解密函数
Dec 18 PHP
深入浅析php中sprintf与printf函数的用法及区别
Jan 08 PHP
PHP SFTP实现上传下载功能
Jul 26 PHP
PHP7下协程的实现方法详解
Dec 17 PHP
浅谈PHP中pack、unpack的详细用法
Mar 12 PHP
PHP实现微信红包金额拆分试玩的算法示例
Apr 07 PHP
PHP实现的只保留字符串首尾字符功能示例【隐藏部分字符串】
Mar 11 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
php strlen mb_strlen计算中英文混排字符串长度
2009/07/10 PHP
php中利用post传递字符串重定向的实现代码
2011/04/21 PHP
PHP实现通过Luhn算法校验信用卡卡号是否有效
2015/03/23 PHP
在php中设置session用memcache来存储的方法总结
2016/01/14 PHP
php制作圆形用户头像的实例_自定义封装类源代码
2017/09/18 PHP
centos7上编译安装php7以php-fpm方式连接apache
2018/11/08 PHP
PHP PDOStatement::rowCount讲解
2019/02/01 PHP
浅谈PHP各环境下的伪静态配置
2019/03/13 PHP
jquery 可拖拽的窗体控件实现代码
2010/03/21 Javascript
flexigrid 参数说明
2010/11/23 Javascript
js与css实现弹出层覆盖整个页面的方法
2014/12/13 Javascript
Nodejs的express使用教程
2015/11/23 NodeJs
利用jQuery中的ajax分页实现代码
2016/02/25 Javascript
fullCalendar中文API官方文档
2017/02/07 Javascript
js 动态生成html 触发事件传参字符转义的实例
2017/02/14 Javascript
原生js封装自定义滚动条
2017/03/24 Javascript
React组件之间的通信的实例代码
2017/06/27 Javascript
利用npm 安装删除模块的方法
2018/05/15 Javascript
如何使用Node.js爬取任意网页资源并输出PDF文件到本地
2019/06/17 Javascript
vue中组件通信的八种方式(值得收藏!)
2019/08/09 Javascript
vue+element-ui表格封装tag标签使用插槽
2020/06/18 Javascript
python sys模块sys.path使用方法示例
2013/12/04 Python
python计算最大优先级队列实例
2013/12/18 Python
Python多进程同步简单实现代码
2016/04/27 Python
给你选择Python语言实现机器学习算法的三大理由
2017/11/15 Python
pycharm 将django中多个app放到同个文件夹apps的处理方法
2018/05/30 Python
python面向对象入门教程之从代码复用开始(一)
2018/12/11 Python
Python实现的读取文件内容并写入其他文件操作示例
2019/04/09 Python
Python Numpy 实现交换两行和两列的方法
2019/06/26 Python
PyTorch中Tensor的拼接与拆分的实现
2019/08/18 Python
Python工程师必考的6个经典面试题
2020/06/28 Python
教你使用Sublime text3搭建Python开发环境及常用插件安装另分享Sublime text3最新激活注册码
2020/11/12 Python
如何利用XMLHTTP检测URL及探测服务器信息
2013/11/10 面试题
2014年初中班主任工作总结
2014/11/08 职场文书
汽车4S店销售经理岗位职责
2015/04/02 职场文书
win10忘记pin密码登录不了怎么办?win10忘记pin密码登不进去的解决方法
2022/07/07 数码科技