关于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高手?学会“懒惰”的编程
Dec 05 PHP
转PHP手册及PHP编程标准
Dec 17 PHP
字母顺序颠倒而单词顺序不变的php代码
Aug 08 PHP
PHP利用header跳转失效的解决方法
Oct 24 PHP
php使用sql server验证连接数据库的方法
Dec 25 PHP
VPS中使用LNMP安装WordPress教程
Dec 28 PHP
Laravel 5框架学习之Laravel入门和新建项目
Apr 07 PHP
PHP添加图片水印、压缩、剪切的封装类
Aug 17 PHP
PHP 微信支付类 demo
Nov 30 PHP
谈谈PHP中substr和substring的正确用法及相关参数的介绍
Dec 16 PHP
PHP查看SSL证书信息的方法
Sep 22 PHP
php png失真的原因及解决办法
Oct 24 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
新浪新闻小偷
2006/10/09 PHP
PHP设计模式之代理模式的深入解析
2013/06/13 PHP
Laravel 5框架学习之子视图和表单复用
2015/04/09 PHP
支持中文、字母、数字的PHP验证码
2015/05/04 PHP
浅析PHP关键词替换的类(避免重复替换,保留与还原原始链接)
2015/09/22 PHP
Laravel实现构造函数自动依赖注入的方法
2016/03/16 PHP
Yii基于CActiveForm的Ajax数据验证用法示例
2016/07/14 PHP
IOS 开发之NSDictionary转换成JSON字符串
2017/08/14 PHP
PHP-FPM 设置多pool及配置文件重写操作示例
2019/10/02 PHP
关于PHP中interface的用处详解
2020/07/26 PHP
javascript下给元素添加事件的方法与代码
2007/08/13 Javascript
选择TreeView控件的树状数据节点的JS方法(jquery)
2010/02/06 Javascript
JavaScript中具名函数的多种调用方式总结
2014/11/08 Javascript
JavaScript使用function定义对象并调用的方法
2015/03/23 Javascript
javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法
2015/05/13 Javascript
jQuery插件bgStretcher.js实现全屏背景特效
2015/06/05 Javascript
Javascript(es2016) import和require用法和区别详解
2017/08/11 Javascript
简单介绍react redux的中间件的使用
2018/04/06 Javascript
JavaScript两种计时器的实例讲解
2019/01/31 Javascript
小程序中this.setData的使用和注意事项
2019/08/28 Javascript
vuejs+element UI table表格中实现禁用部分复选框的方法
2019/09/20 Javascript
解决vue-cli 打包后自定义动画未执行的问题
2019/11/12 Javascript
Python算法输出1-9数组形成的结果为100的所有运算式
2017/11/03 Python
python字符串的方法与操作大全
2018/01/30 Python
python程序封装为win32服务的方法
2021/03/07 Python
flask session组件的使用示例
2018/12/25 Python
一个可以套路别人的python小程序实例代码
2019/04/09 Python
30秒学会30个超实用Python代码片段【收藏版】
2019/10/15 Python
Python selenium自动化测试模型图解
2020/04/15 Python
python怎么对数字进行过滤
2020/07/05 Python
pandas处理csv文件的方法步骤
2020/10/16 Python
Web时代变迁及html5与html4的区别
2016/01/06 HTML / CSS
旷课检讨书大全
2014/01/21 职场文书
住宅质量保证书
2014/04/29 职场文书
小学六一儿童节活动总结
2015/05/05 职场文书
图文详解matlab原始处理图像几何变换
2021/07/09 Python