关于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
菜鸟学PHP之Smarty入门
Jan 04 PHP
需要使用php模板的朋友必看的很多个顶级PHP模板引擎比较分析
May 26 PHP
PHP使用PHPMailer发送邮件的简单使用方法
Nov 12 PHP
VPS中使用LNMP安装WordPress教程
Dec 28 PHP
smarty内置函数section的用法
Jan 22 PHP
php文件操作之小型留言本实例
Jun 20 PHP
各种快递查询--Api接口
Apr 26 PHP
Smarty高级应用之缓存操作技巧分析
May 14 PHP
Yii实现文章列表置顶功能示例
Oct 18 PHP
PHP文字转图片功能原理与实现方法分析
Aug 31 PHP
KindEditor在php环境下上传图片功能集成的方法示例
Jul 20 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使用xmllint命令处理xml与html的方法
2014/12/15 PHP
28个JS验证函数收集
2010/03/02 Javascript
Ext4.2的Ext.grid.plugin.RowExpander无法触发事件解决办法
2014/08/15 Javascript
jquery+css3实现会动的小圆圈效果
2016/01/27 Javascript
JS动态插入并立即执行回调函数的方法
2016/04/21 Javascript
jQuery+CSS3+Html5实现弹出层效果实例代码(附源码下载)
2016/05/16 Javascript
Jquery为DIV添加click事件的简单实例
2016/06/02 Javascript
深入理解JavaScript中的并行处理
2016/09/22 Javascript
Javascrip实现文字跳动特效
2016/11/27 Javascript
Angular2 父子组件数据通信实例
2017/06/22 Javascript
详解Vue2中组件间通信的解决全方案
2017/07/28 Javascript
使用mint-ui开发项目的一些心得(分享)
2017/09/07 Javascript
jQuery实现可兼容IE6的滚动监听功能
2017/09/20 jQuery
vue项目总结之文件夹结构配置详解
2017/12/13 Javascript
JS实现常见的查找、排序、去重算法示例
2018/05/21 Javascript
JavaScript基础教程之如何实现一个简单的promise
2018/09/11 Javascript
React手稿之 React-Saga的详解
2018/11/12 Javascript
python动态参数用法实例分析
2015/05/25 Python
python类装饰器用法实例
2015/06/04 Python
Python实现读取txt文件并画三维图简单代码示例
2017/12/09 Python
Python设计模式之观察者模式简单示例
2018/01/10 Python
Python实现读取字符串按列分配后按行输出示例
2018/04/17 Python
Python实现接受任意个数参数的函数方法
2018/04/21 Python
Python实现ping指定IP的示例
2018/06/04 Python
Python中实现单例模式的n种方式和原理
2018/11/14 Python
使用Python做定时任务及时了解互联网动态
2019/05/15 Python
python 并发编程 非阻塞IO模型原理解析
2019/08/20 Python
Python数据持久化存储实现方法分析
2019/12/21 Python
Hunter Boots美国官方网站:赫特威灵顿雨靴
2018/06/16 全球购物
迪拜领先运动补剂零售品牌中文站:Sporter商城
2019/08/20 全球购物
都柏林通行卡/城市通票:The Dublin Pass
2020/02/16 全球购物
统计员岗位职责
2013/11/14 职场文书
六十岁生日答谢词
2014/01/10 职场文书
幼儿园庆六一游园活动方案
2014/01/29 职场文书
2015年小学体育工作总结
2015/05/22 职场文书
如何使用PostgreSQL进行中文全文检索
2021/05/27 PostgreSQL