关于PHP内置的字符串处理函数详解


Posted in PHP onFebruary 04, 2017

字符串的特点

1.  其他类型的数据用在字符串类型处理函数中,会自动将其转化成字符串后,在处理

<?php
echo substr("abcdefghijklmn",2,4),"<br>";  //cdef
//使用数字会自动转化为字符串
echo substr(123456,2,4);  //3456
?>

2. 可以将字符串视为数组,当做字符集合来看待

<?php
$str="abcdefg";

//下面这两种方法都可以输出想要的字符
echo $str[2]."<br>";
//但是为了区分数组我们常用下面一种
echo $str{2}."<br>";
?>

强大的内置的字符串处理函数

1. 常用的字符串输出函数

echo()
print()
die()----exit()
printf()    格式化字符串
sprintf()   返回格式化的字符串

2. 常用的字符串格式化函数

去掉字符
ltrim();   去掉左边的字符串(默认去掉空格)
rtrim();   去掉右边的字符串
trim();    去掉两边的字符串

<?php
$str="  abc  ";

echo strlen($str)."<br>";
echo strlen(ltrim($str))."<br>";
echo strlen(rtrim($str))."<br>";
echo strlen(trim($str))."<br>";

$str1="123This is Test";

//第二个参数指定要删除的字符(串)
echo ltrim($str1,'1')."<br>";
//删除所有的数字  0..9表示范围
echo ltrim($str1,'0..9')."<br>";
?>

添加字符串

str_pad();   添加字符串(默认在右边添加)

<?php
$str="hello";

//默认从右边补充
echo str_pad($str,10,"@")."<br>";
//两边补充
echo str_pad($str,10,"@",STR_PAD_BOTH)."<br>";
//从左边补充
echo str_pad($str,10,"@",STR_PAD_LEFT)."<br>";
?>

大小写转换

strtolower();   所有的字符都转化成小写
strtoupper();   所有的字符都转化成大写
ucfirst();      首字母转化成大写
ucword();       每个单词首字母转成大写

<?php
$str="My name is TOM!";

echo strtoupper($str)."<br>";
echo strtolower($str)."<br>";
echo ucfirst($str)."<br>";
echo ucwords($str)."<br>";
?>

和HTML标签有关的字符串格式化

nl2br();     函数在字符串中的每个新行 (\n) 之前插入 HTML 换行符 (<br />)。

htmlentities();    函数把字符转换为 HTML 实体。

htmllspeciachars();    函数把一些预定义的字符转换为 HTML 实体。

预定义的字符是:
& (和号) 成为 &
""(双引号) 成为 "
''(单引号) 成为 '
< (小于) 成为 <
> (大于) 成为 >

stripslashes();     函数删除由 addslashes() 函数添加的反斜杠。

addslashes() 函数在指定的预定义字符前添加反斜杠。

这些预定义字符是:

单引号 (')

双引号 (")

反斜杠 (\)

NULL

strip_tags();     函数剥去 HTML、XML 以及 PHP 的标签。

<form>
  input:<input type="text" name="str" size="100">
     <input type="submit" name="sub" value="提交">
     <br>
</form>


<?php
echo $_GET["str"]."<br>";
//函数把字符转换为 HTML 实体。
echo htmlentities($_GET["str"],ENT_NOQUOTES)."<br>";
//函数把一些预定义的字符转换为 HTML 实体。
echo htmlspecialchars($_GET["str"])."<br>";
//去掉由addslashes()函数加的 \
echo stripslashes($_GET["str"])."<br>";
//结合使用
echo htmlentities(stripslashes($_GET["str"]))."<br>";


// 函数剥去 HTML、XML 以及 PHP 的标签。
echo strip_tags($_GET["str"])."<br>";
?>

 number_format();    函数通过千位分组来格式化数字。

<?php
$a=1000000.12345;

echo $a."<br>";
echo number_format($a)."<br>";
//小数点保留三位,千分位用“,”隔开,小数点用“.”
echo number_format($a,3,'.',',')."<br>";
?>

strrev();   函数反转字符串

<?php
$str="Hello World!";

echo $str."<br>";
echo strrev($str)."<br>";
?>

md5();

函数计算字符串的 MD5 散列。

md5() 函数使用 RSA 数据安全,包括 MD5 报文摘译算法。

如果成功,则返回所计算的 MD5 散列,如果失败,则返回 false。

<?php
$pass="1234#!_56";

if(md5($pass)=="a8affa3d7aca3a35a39f674e1e5f0cc7")
  echo "Ok!";
?>

md5_file(); 

函数计算文件的 MD5 散列。

md5() 函数使用 RSA 数据安全,包括 MD5 报文摘译算法。

如果成功,则返回所计算的 MD5 散列,如果失败,则返回 false。

3.字符串比较函数

strcmp();   函数比较两个字符串。

0 - 如果两个字符串相等

<0 - 如果 string1 小于 string2

>0 - 如果 string1 大于 string2

strcasecmp();

strnatcmp();

<?php
$str1="abcd";
$str2="abcd";

if(strcmp($str1,$str2)==0){
  echo '$str1=$str2';
}elseif(strcmp(str1,$str2)>0){
  echo '$str1>$str2';
}else{
  echo '$str1<$str2';
}
?>

以上这篇关于PHP内置的字符串处理函数详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP安装攻略:常见问题解答(三)
Oct 09 PHP
dedecms 制作模板中使用的全局标记图文教程
Mar 11 PHP
php调用mysql数据 dbclass类
May 07 PHP
PHP curl 并发最佳实践代码分享
Sep 05 PHP
php字符串过滤与替换小结
Jan 26 PHP
php抽象类使用要点与注意事项分析
Feb 09 PHP
百度工程师讲PHP函数的实现原理及性能分析(三)
May 13 PHP
php实现源代码加密的方法
Jul 11 PHP
百度地图经纬度转换到腾讯地图/Google 对应的经纬度
Aug 28 PHP
php和js实现根据子网掩码和ip计算子网功能示例
Nov 09 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
Apr 13 PHP
php修改word的实例方法
Nov 17 PHP
详谈PHP面向对象中常用的关键字和魔术方法
Feb 04 #PHP
浅谈PHP中的错误处理和异常处理
Feb 04 #PHP
详谈PHP中的密码安全性Password Hashing
Feb 04 #PHP
php、mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳)
Feb 04 #PHP
PHP水印类,支持添加图片、文字、填充颜色区域的实现
Feb 04 #PHP
Yii2下session跨域名共存的解决方案
Feb 04 #PHP
浅谈PHP的$_SERVER[SERVER_NAME]
Feb 04 #PHP
You might like
在PHP中读取和写入WORD文档的代码
2008/04/09 PHP
PHP实现的比较完善的购物车类
2014/12/02 PHP
Smarty最简单实现列表奇偶变色的方法
2015/07/01 PHP
Yii数据库缓存实例分析
2016/03/29 PHP
php HTML无刷新提交表单
2016/04/05 PHP
php简单实现sql防注入的方法
2016/04/22 PHP
在Laravel中使用MongoDB的方法示例
2019/11/11 PHP
iscroll碰到Select无法选择下拉刷新的解决办法
2016/05/21 Javascript
老生常谈onBlur事件与onfocus事件(js)
2016/07/09 Javascript
js倒计时简单实现代码
2016/08/11 Javascript
利用jQuery的动画函数animate实现豌豆发射效果
2016/08/28 Javascript
jQuery模拟窗口抖动效果
2017/03/15 Javascript
Vue-Router模式和钩子的用法
2018/02/28 Javascript
说说Vuex的getters属性的具体用法
2019/04/15 Javascript
JavaScript中将值转换为字符串的五种方法总结
2019/06/06 Javascript
nodejs 递归拷贝、读取目录下所有文件和目录
2019/07/18 NodeJs
React+TypeScript+webpack4多入口配置详解
2019/08/08 Javascript
JavaScript运行机制实例分析
2020/04/11 Javascript
微信小程序自定义胶囊样式
2020/12/27 Javascript
[46:25]DOTA2上海特级锦标赛主赛事日 - 4 败者组第五轮 MVP.Phx VS EG第二局
2016/03/05 DOTA
Python httplib,smtplib使用方法
2008/09/06 Python
itchat和matplotlib的结合使用爬取微信信息的实例
2017/08/25 Python
pyqt5的QWebEngineView 使用模板的方法
2018/08/18 Python
解决python中的幂函数、指数函数问题
2019/11/25 Python
python 解决flask uwsgi 获取不到全局变量的问题
2019/12/22 Python
解决pycharm每次打开项目都需要配置解释器和安装库问题
2020/02/26 Python
django模板获取list中指定索引的值方式
2020/05/14 Python
简述 Python 的类和对象
2020/08/21 Python
香港化妆品经销商:我的公主
2016/08/05 全球购物
维氏瑞士军刀英国网站:Victorinox英国
2019/07/04 全球购物
房地产资料员岗位职责
2014/07/02 职场文书
学校交通安全责任书
2014/08/25 职场文书
忠犬八公的故事观后感
2015/06/05 职场文书
大学生军训感言
2015/08/01 职场文书
患者身份识别制度
2015/08/06 职场文书
Redis特殊数据类型HyperLogLog基数统计算法讲解
2022/06/01 Redis