关于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 VS ASP
Oct 09 PHP
PHP has encountered an Access Violation
Jan 15 PHP
删除数组元素实用的PHP数组函数
Aug 18 PHP
关于PHP语言构造器介绍
Jul 08 PHP
php防止SQL注入详解及防范
Nov 12 PHP
PHP制作图形验证码代码分享
Oct 23 PHP
推荐一本PHP程序猿都应该拜读的书
Dec 31 PHP
php简单计算页面加载时间的方法
Jun 19 PHP
php 使用curl模拟ip和来源进行访问的实现方法
May 02 PHP
php面向对象程序设计中self与static的区别分析
May 21 PHP
PHP实现限制域名访问的实现代码(本地验证)
Sep 13 PHP
关于PhpStorm设置点击编辑文件自动定位源文件的实现方式
Dec 30 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伪静态页面函数附使用方法
2008/06/20 PHP
php 字符转义 注意事项
2009/05/27 PHP
提高PHP编程效率的53个要点(经验小结)
2010/09/04 PHP
php array的学习笔记
2012/05/16 PHP
解析MySql与Java的时间类型
2013/06/22 PHP
js AspxButton的客户端操作
2009/06/26 Javascript
js里的prototype使用示例
2010/11/19 Javascript
用JavaScript实现一个代码简洁、逻辑不复杂的多级树
2014/05/23 Javascript
bootstrap table 服务器端分页例子分享
2015/02/10 Javascript
js日期插件dateHelp获取本月、三个月、今年的日期
2016/03/07 Javascript
原生JS取代一些JQuery方法的简单实现
2016/09/20 Javascript
3种不同的ContextMenu右键菜单实现代码
2016/11/03 Javascript
Express URL跳转(重定向)的实现方法
2017/04/07 Javascript
Vue中的混入的使用(vue mixins)
2018/06/01 Javascript
Vue实现商品分类菜单数量提示功能
2019/07/26 Javascript
layui动态表头的实现代码
2019/08/22 Javascript
JavaScript变量基本使用方法实例分析
2019/11/15 Javascript
vue 清空input标签 中file的值操作
2020/07/21 Javascript
React实现轮播效果
2020/08/25 Javascript
Python 条件判断的缩写方法
2008/09/06 Python
Python cookbook(数据结构与算法)找出序列中出现次数最多的元素算法示例
2018/03/15 Python
django admin组件使用方法详解
2019/07/19 Python
为什么相对PHP黑python的更少
2020/06/21 Python
学习Python爬虫的几点建议
2020/08/05 Python
Python Selenium异常处理的实例分析
2021/02/28 Python
蒂芙尼澳大利亚官方网站:Tiffany&Co. Australia
2017/08/27 全球购物
static关键字的用法
2013/10/07 面试题
医院护士的求职信
2014/01/03 职场文书
售后服务承诺书怎么写
2014/05/21 职场文书
行政求职信
2014/07/04 职场文书
毕业生个人总结
2015/02/28 职场文书
部门2015年度工作总结
2015/04/29 职场文书
2015暑假实习报告范文
2015/07/13 职场文书
建议书的格式及范文
2015/09/14 职场文书
2016年习总书记讲话学习心得体会
2016/01/20 职场文书
Python pyecharts绘制条形图详解
2022/04/02 Python