php常用字符函数实例小结


Posted in PHP onDecember 29, 2016

本文实例总结了php常用字符函数。分享给大家供大家参考,具体如下:

1. string substr(string  $string, int $start   [,int    $length])

函数功能:返回字符串string由start和length参数指定的子字符串。

参数:

string:输入字符串。
start:如果start是非负数,返回的字符串将从string的start位置开始,从0开始计算。如,‘abcdef'中,在位置0的为‘a',位置2为‘c ';
如果start是负数,返回字符串将从string结尾处向前数第start个字符开始。
如果string的长度小于或等于start,则返回FALSE。

$rest=substr(" abcdef ",-1);//返回“ f ”
$rest=substr(" abcdef ",-2);// 返回 “ ef ”
$rest=substr(" abcdef ",-3,1); //返回 “ d ”

$length:如果提供了正数的length,返回的字符串从start处开始最多包括length个字符(取决于string的长度)。

如果提供了负数的length,那么string末尾处的许多字符将会漏掉,即为从末尾处不考虑字符(可以理解我截断),如果start不在文本中,那么将返回一个空字符串。

如果提供了值为0,FALSE或NULL的length,那么将返回一个空字符串。

如果没有提供length,返回的字符串将从start的位置一直到字符结束。

$rest=substr("abcdef","0","-1");  //返回 abcde
$rest=substr("abcdef","2","-1");  //返回 cde
$rest=substr("abcdef"," 4","-4"); //返回 NULL
$rest=substr("abcdef","-3","-1"); //返回 de

[ ]中括号代表该参数为可选参数,不设定即为默认参数。(接触php快8个月了,一直奇怪函数的参数为啥要加个中括号,今天终于忍不住百度了下!惭愧!)

2. int preg_match(string  $pattern ,string $subject [, array &$matches  [,  int  $flag=0 [, int $offset=0 ]]])

函数功能:搜索subject与pattern给定的正则表达式的一个匹配。

参数

$pattern:要搜索的模式,字符类型。
$subject:输入字符串。
$matches:如果提供了参数matches,它将被填充为搜索结果,$matches[0]包含完整模式匹配到的文本,$matches[1]将包含第一个捕获子组匹配到文本,以此类推。
$flags :flags可以被设置为以下标记值:

   PREG_OFFSET_CAPTURE

如果传递了这个标记, 对于每一个出现的匹配返回时会附加字符串偏移量(相对于目标字符串的). 注意: 这会改变填充到matches参数的数组, 使其每个元素成为      一 个由 第0个元素是匹配到的字符串, 第1个元素是该匹配字符串 在目标字符串subject中的偏移量.

offset:

通常, 搜索从目标字符串的开始未知开始.可选参数offset用于 指定从目标字符串的某个未知开始搜索(单位是字节).

Note:

使用offset参数不同于向preg_match() 传递按照位置通过substr($subject, $offset)截取目标字符串结果, 因为pattern可以包含断言比如^,$ 或者(?<=x). 比较:

<?php
$subject = "abcdef";
$pattern = '/^def/';
preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE, 3);
print_r($matches);
?>

以上例程会输出:

Array
(
)
<?php
$subject = "abcdef";
$pattern = '/^def/';
preg_match($pattern, substr($subject,3), $matches, PREG_OFFSET_CAPTURE);
print_r($matches);
?>

将会产生匹配

Array
(
  [0] => Array
    (
      [0] => def
      [1] => 0
    )
)

3. strpos(string,find,start)

string:必须,规定被搜索的字符串。
find:必须,规定要查找的字符。
start:可选,规定开始搜索的位置,默认从第一个字符开始。

该函数对大小写敏感,如不希望这样可以使用stripos()函数

例:

echo strpos("Hello  world! "," wo ");// 输出 6

4. string dirname(string path)

函数功能:取得路径中的目录名。在 Win32 系统中,用斜线 (/) 或者反斜线 (\) 都可以;但是其它的操作系统的路径都是 (/)。

$path = "/etc/hostname";
$file = dirname($path);

$file 为 "/etc"

5. str_split(string,length)

string 必需。规定要分割的字符串。
length 可选。规定每个数组元素的长度。默认是 1。

<?php
print_r(str_split("Hello"));
?>

运行结果:

Array
(
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
)

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php中支持多种编码的中文字符串截取函数!
Mar 20 PHP
php连接mssql数据库的几种方法
Feb 21 PHP
基于php socket(fsockopen)的应用实例分析
Jun 02 PHP
php.ini save_handler 修改不生效的解决办法
Jul 22 PHP
php中base64_decode与base64_encode加密解密函数实例
Nov 24 PHP
CI框架中cookie的操作方法分析
Dec 12 PHP
PHP实现Javascript中的escape及unescape函数代码分享
Feb 10 PHP
yii2.0使用Plupload实现带缩放功能的多图上传
Dec 22 PHP
PHP面向对象编程之深入理解方法重载与方法覆盖(多态)
Dec 24 PHP
PHP获取不了React Native Fecth参数的解决办法
Aug 26 PHP
yii通过小物件生成view的方法
Oct 08 PHP
ThinkPHP5+Layui实现图片上传加预览功能
Aug 17 PHP
php常用正则函数实例小结
Dec 29 #PHP
详解ThinkPHP3.2.3验证码显示、刷新、校验
Dec 29 #PHP
php常用数组函数实例小结
Dec 29 #PHP
php正则修正符用法实例详解
Dec 29 #PHP
PHP登录(ajax提交数据和后台校验)实例分享
Dec 29 #PHP
php preg_match的匹配不同国家语言实例
Dec 29 #PHP
php使用正则表达式获取字符串中的URL
Dec 29 #PHP
You might like
php中的路径问题与set_include_path使用介绍
2014/02/11 PHP
Yii获取当前url和域名的方法
2015/06/08 PHP
ThinkPHP下表单令牌错误与解决方法分析
2017/05/20 PHP
javascript实现动态增加删除表格行(兼容IE/FF)
2007/04/02 Javascript
jquery.combobox中文api和例子,修复了上面的小bug
2011/03/28 Javascript
jquery弹出框的用法示例(一)
2013/08/26 Javascript
浅谈Javascript 执行顺序
2013/12/18 Javascript
使用jQuery重置(reset)表单的方法
2014/05/05 Javascript
浏览器窗口大小变化时使用resize事件对框架不起作用的解决方法
2014/05/11 Javascript
jquery实现导航固定顶部的效果仿蘑菇街
2014/10/22 Javascript
jquery使用hide方法隐藏指定id的元素
2015/03/30 Javascript
在线所见即所得HTML编辑器的实现原理浅析
2015/04/25 Javascript
javascript如何写热点图
2015/12/08 Javascript
node.js的事件机制
2017/02/08 Javascript
js 作用域和变量详解
2017/02/16 Javascript
React-Native实现ListView组件之上拉刷新实例(iOS和Android通用)
2017/07/11 Javascript
jQuery实现的弹幕效果完整实例
2017/09/06 jQuery
vue实现手机号码抽奖上下滚动动画示例
2017/10/18 Javascript
详解VUE2.X过滤器的使用方法
2018/01/11 Javascript
angular动态表单制作
2018/02/23 Javascript
详解es6新增数组方法简便了哪些操作
2019/05/09 Javascript
微信小程序 搜索框组件代码实例
2019/09/06 Javascript
[02:37]TI8勇士令状不朽珍藏II视频展示
2018/06/23 DOTA
在PyCharm导航区中打开多个Project的关闭方法
2019/01/17 Python
Python中的集合介绍
2019/01/28 Python
使用Django搭建web服务器的例子(最最正确的方式)
2019/08/29 Python
Python发送邮件的实例代码讲解
2019/10/16 Python
opencv 图像礼帽和图像黑帽的实现
2020/07/07 Python
pytorch加载语音类自定义数据集的方法教程
2020/11/10 Python
Python爬取酷狗MP3音频的步骤
2021/02/26 Python
htmlentities() 和 htmlspecialchars()有什么区别
2015/07/01 面试题
日本语毕业生自荐信
2014/02/01 职场文书
2014年国庆节演讲稿
2014/09/19 职场文书
全国爱牙日活动总结
2015/02/05 职场文书
员工升职自荐信
2015/03/27 职场文书
CSS实现章节添加自增序号的方法
2021/06/23 HTML / CSS