php 常用字符串函数总结


Posted in PHP onMarch 15, 2008

1.格式化输出

chop 是rtrim()的别名;

ltrim()
trim()

nl2br()将\n转换成<br>

print,echo,printf(),sprintf():

echo()不是函数,print()是函数,有返回值,boolen,false,true;

printf()格式化输出

--函数,把文字格式化以后输出,直接调用系统调用进行IO的,他是非缓冲的。如:
$name="hunte";
$age=25;
printf("my name is %s, age %d", $name, $age);

sprintf()格式化字符串,然后赋给一个变量,但是不输出,类似于c了

<?php 
echo nl2br("foo isn't\n bar"); 
echo "foo isn't\n bar"; 
?>

--跟printf相似,但不打印,而是返回格式化后的文字,其他的与printf一样。如:
char sql[256];
sprintf(sql,"select * from table where no = '%s'",bankno);
它的功能只是把""里面的语句赋给了变量sql。

strtolower
strtoupper
ucwords
ucfirst

2.字符串的连接和分割

(1)array explode(string input ,string separator , int limit)

使用一个字符串分割另一个字符串

<?php 
// 示例 1 
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6"; 
$pieces = explode(" ", $pizza); 
echo $pieces[0]; // piece1 
echo $pieces[1]; // piece2 

// 示例 2 
$data = "foo:*:1023:1000::/home/foo:/bin/sh"; 
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data); 
echo $user; // foo 
echo $pass; // * 
?>

例子2. limit 参数示例

<?php 
$str = 'one|two|three|four'; 

// 正数的 limit 
print_r(explode('|', $str, 2)); 

// 负数的 limit 
print_r(explode('|', $str, -1)); 
?>

string strtok( string input ,string separator)

<?php 
$string = "This is\tan example\nstring"; 
/* Use tab and newline as tokenizing characters as well */ 
$tok = strtok($string, " \n\t"); 

//拿着空格,\n,\t作为令牌分割字符串 

while ($tok !== false) { 
echo "Word=$tok<br />"; 
$tok = strtok(" \n\t"); 
} 
?>

结果:

Word=This
Word=is
Word=an
Word=example
Word=string

(2.)字符串的截取

$test="Your customer service is excellent"; 
echo substr($test,1);////////our customer service is excellent 
echo "<br>"; 
echo substr($test,-9);//////从末尾起长度是9excellent 
echo "<br>"; 
echo substr($test,0,4);////从0位置开始长度是4Your 
echo "<br>"; 
echo substr($test,5,-13);/从第四个开始到倒数第13个字符customer service 
echo "<br>"; 

$test="Your customer service is excellent"; 
echo substr($test,1); 
echo "<br>"; 
echo substr($test,-11); 
echo "<br>"; 
echo substr($test,0,6); 
echo "<br>"; 
echo substr($test,5,-13); 
echo "<br>";

our customer service is excellent
s excellent
Your c
customer service

(3)join()字符串的链接

3.字符串的查找

(1)string strstr ( string haystack, string needle ) 别名:strchr,stristr和strstr类似不同在于不区分大小写

strrchr()相反的,查找的是最后一次出现的字符串

第一次出现起的字符串

<?php 
$email = 'user@example.com'; 
$domain = strstr($email, '@'); 
echo $domain; // prints @example.com 
?> 
$email = 'user@example.com'; 
$domain =strstr($email,'e'); 
$domain2 =strrchr($email,'e');//最后一次出现起的字符串 
echo $domain; 
echo "<br>"; 
echo $domain2;

er@example.com
e.com

(2)查找位置

int strpos(string str,string needle,[int offset]) 没有找到返回的是false

返回从offset开始在str中查找needle的位置

$eg:$t-'hello world';

echo strpos($t,'o',5);

//7 从第o开始,查找o这个变量的位置,结果为7

int strrpos()

5.替换

str_replace("%body%","blank","<body text='%body%'")

6 。大写小问题

Strpos
查找字符串中第一次出现的字符串的位置

Strrpos
查找字符串中某字符,继第一次之后的最先出现的位置。

strpos(stripos无大小写)
strrpos(strripos无大小写)

strstr
stristr(无大小写)

str_replace
str_ireplace(无大小写)

PHP 相关文章推荐
PHP字符串函数系列之nl2br(),在字符串中的每个新行 (\n) 之前插入 HTML 换行符br
Nov 10 PHP
php pki加密技术(openssl)详解
Jul 01 PHP
PHP mail()函数使用及配置方法
Jan 14 PHP
php通过array_shift()函数移除数组第一个元素的方法
Mar 18 PHP
Laravel 5 框架入门(二)构建 Pages 的管理功能
Apr 09 PHP
php实现网站顶踩功能的完整前端代码
Jul 19 PHP
使用纯php代码实现页面伪静态的方法
Jul 25 PHP
如何利用http协议发布博客园博文评论
Aug 03 PHP
php基于curl重写file_get_contents函数实例
Nov 08 PHP
php实现的redis缓存类定义与使用方法示例
Aug 09 PHP
Laravel 自动生成验证的实例讲解:login / logout
Oct 14 PHP
PHP实现随机发放扑克牌
Apr 21 PHP
php str_replace的替换漏洞
Mar 15 #PHP
PHP执行速率优化技巧小结
Mar 15 #PHP
请php正则走开
Mar 15 #PHP
可以在线执行PHP代码包装修正版
Mar 15 #PHP
PHP Token(令牌)设计
Mar 15 #PHP
php项目打包方法
Feb 18 #PHP
PHP4与PHP5的时间格式问题
Feb 17 #PHP
You might like
电脑硬件及电脑配置知识大全
2020/03/17 数码科技
php 设计模式之 工厂模式
2008/12/19 PHP
PHP错误Cannot use object of type stdClass as array in错误的解决办法
2014/06/12 PHP
PHP实现JS中escape与unescape的方法
2016/07/11 PHP
[原创]php正则删除html代码中class样式属性的方法
2017/05/24 PHP
PHP对象的浅复制与深复制的实例详解
2017/10/26 PHP
PHP封装的page分页类定义与用法完整示例
2018/12/24 PHP
express的中间件cookieParser详解
2014/12/04 Javascript
基于jQuery+Cookie实现的防止刷新的在线考试倒计时
2015/06/19 Javascript
JavaScript+html5 canvas制作色彩斑斓的正方形效果
2016/01/27 Javascript
JavaScript仿微博输入框效果(案例分析)
2016/12/06 Javascript
AngularJS使用ng-inlude指令加载页面失败的原因与解决方法
2017/01/19 Javascript
AngularJS解决ng-if中的ng-model值无效的问题
2017/06/21 Javascript
JS作用域链详解
2017/06/26 Javascript
React Native 自定义下拉刷新上拉加载的列表的示例
2018/03/01 Javascript
jQuery创建及操作xml格式数据示例
2018/05/26 jQuery
详解关于Angular4 ng-zorro使用过程中遇到的问题
2018/12/05 Javascript
Node.js操作系统OS模块用法分析
2019/01/04 Javascript
vue实现父子组件之间的通信以及兄弟组件的通信功能示例
2019/01/29 Javascript
nodemon实现Typescript项目热更新的示例代码
2019/11/19 Javascript
[02:21]十步杀一人,千里不留行——DOTA2全新英雄天涯墨客展示
2018/08/29 DOTA
[40:03]RNG vs VG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Windows和Linux下使用Python访问SqlServer的方法介绍
2015/03/10 Python
python通过pip更新所有已安装的包实现方法
2017/05/19 Python
Python三种遍历文件目录的方法实例代码
2018/01/19 Python
Python编程中类与类的关系详解
2019/08/08 Python
Python读写csv文件流程及异常解决
2020/10/20 Python
解决PyCharm无法使用lxml库的问题(图解)
2020/12/22 Python
CSS3 实用技巧:实现黑白图像效果示例代码
2013/07/11 HTML / CSS
廉价航班、机票和酒店:JustFly
2018/02/07 全球购物
项目合作计划书
2014/01/09 职场文书
2016年3月份红领巾广播稿
2015/12/21 职场文书
Python中tkinter的用户登录管理的实现
2021/04/22 Python
mysql 带多个条件的查询方式
2021/06/05 MySQL
Oracle创建只读账号的详细步骤
2021/06/07 Oracle
mysql 8.0.27 绿色解压版安装教程及配置方法
2022/04/20 MySQL