关于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 相关文章推荐
解决MySQL中文输出变成问号的问题
Jun 05 PHP
php set_time_limit(0) 设置程序执行时间的函数
May 26 PHP
php visitFile()遍历指定文件夹函数
Aug 21 PHP
用php简单实现加减乘除计算器
Jan 06 PHP
php switch语句多个值匹配同一代码块的实现
Mar 03 PHP
php利用cookies实现购物车的方法
Dec 10 PHP
PHP输出一个等腰三角形的方法
May 12 PHP
php结合curl实现多线程抓取
Jul 09 PHP
Zend Framework实现具有基本功能的留言本(附demo源码下载)
Mar 22 PHP
PHP实现链式操作的三种方法详解
Nov 16 PHP
PHP排序算法之简单选择排序(Simple Selection Sort)实例分析
Apr 20 PHP
基于php+MySql实现学生信息管理系统实例
Aug 04 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
利用static实现表格的颜色隔行显示
2006/10/09 PHP
php 读取shell管道传输过来的内容
2010/03/01 PHP
PHP的password_hash()使用实例
2014/03/17 PHP
php实现检查文章是否被百度收录
2015/01/27 PHP
PHP 将数组打乱 shuffle函数的用法及简单实例
2016/06/17 PHP
解析 thinkphp 框架中的部分方法
2017/05/07 PHP
PHP 中 var_export、print_r、var_dump 调试中的区别
2018/06/19 PHP
一个javascript图片阅览组件
2010/11/09 Javascript
基于javascript如何传递特殊字符
2015/11/30 Javascript
jQuery Mobile弹出窗、弹出层知识汇总
2016/01/05 Javascript
基于JavaScript实现图片点击弹出窗口而不是保存
2016/02/06 Javascript
Javascript异步编程async实现过程详解
2020/04/02 Javascript
使用python编写脚本获取手机当前应用apk的信息
2014/07/21 Python
Python Tkinter简单布局实例教程
2014/09/03 Python
详解Python中contextlib上下文管理模块的用法
2016/06/28 Python
python实现一组典型数据格式转换
2018/12/15 Python
对Python 两大环境管理神器 pyenv 和 virtualenv详解
2018/12/31 Python
python and or用法详解
2019/06/26 Python
用python3 urllib破解有道翻译反爬虫机制详解
2019/08/14 Python
使用tqdm显示Python代码执行进度功能
2019/12/08 Python
Python3.5 win10环境下导入kera/tensorflow报错的解决方法
2019/12/19 Python
python-xpath获取html文档的部分内容
2020/03/06 Python
matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
2021/01/05 Python
向全球直邮输送天然健康产品:iHerb.com
2020/05/03 全球购物
迪卡侬中国官网:Decathlon中国
2020/08/10 全球购物
屈臣氏越南官网:Watsons越南
2021/01/14 全球购物
编程用JAVA解析XML的方式
2013/07/07 面试题
医学院毕业生自荐信范文
2014/03/06 职场文书
财务管理专业求职信
2014/06/11 职场文书
群众路线专项整治工作情况报告
2014/10/28 职场文书
教师党的群众路线教育实践活动学习笔记
2014/11/05 职场文书
见义勇为事迹材料
2014/12/24 职场文书
2015年防汛工作总结
2015/05/15 职场文书
2016教师政治学习心得体会
2016/01/23 职场文书
Python如何使用logging为Flask增加logid
2021/03/30 Python
Python读写yaml文件
2022/03/20 Python