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下实现伪 url 的超简单方法[转]
Sep 24 PHP
PHP程序61条面向对象分析设计的经验小结
Nov 12 PHP
PHP 获取远程文件内容的函数代码
Mar 24 PHP
php截取utf-8中文字符串乱码的解决方法
Mar 29 PHP
PHP的curl实现get,post和cookie(实例介绍)
Jun 17 PHP
zf框架的db类select查询器join链表使用示例(zend框架)
Mar 14 PHP
php定时计划任务与fsockopen持续进程实例
May 23 PHP
php安装swoole扩展的方法
Mar 19 PHP
PHP实现仿Google分页效果的分页函数
Jul 29 PHP
PHP简单获取网站百度搜索和搜狗搜索收录量的方法
Aug 23 PHP
PHP实现通过CURL上传文件功能示例
May 30 PHP
PHP编程一定要改掉的5个不良习惯
Sep 18 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
在数据量大(超过10万)的情况下
2007/01/15 PHP
php模拟post行为代码总结(POST方式不是绝对安全)
2012/02/22 PHP
PHP中开启gzip压缩的2种方法
2015/01/31 PHP
php中实现获取随机数组列表的自定义函数
2015/04/02 PHP
tp5实现微信小程序多图片上传到服务器功能
2018/07/16 PHP
(仅IE下有效)关于checkbox 三态
2007/05/12 Javascript
JavaScript入门教程(5) js Screen屏幕对象
2009/01/31 Javascript
jquery随意添加移除html的实现代码
2011/06/21 Javascript
JS批量修改PS中图层名称的方法
2014/01/26 Javascript
js生成随机数的方法实例
2015/10/16 Javascript
Vue-cli创建项目从单页面到多页面的方法
2017/09/20 Javascript
如何自定义微信小程序tabbar上边框的颜色
2019/07/09 Javascript
vue router动态路由设置参数可选问题
2019/08/21 Javascript
Node4-5静态资源服务器实战以及优化压缩文件实例内容
2019/08/29 Javascript
jquery实现垂直手风琴菜单
2020/03/04 jQuery
[55:35]VGJ.S vs Mski Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
Python异常处理知识点总结
2019/02/18 Python
Python目录和文件处理总结详解
2019/09/02 Python
如何更改 pandas dataframe 中两列的位置
2019/12/27 Python
Python学习之路之pycharm的第一个项目搭建过程
2020/06/18 Python
CSS3实现头像旋转效果
2017/03/13 HTML / CSS
html5 datalist 选中option选项后的触发事件
2020/03/05 HTML / CSS
波兰品牌鞋履在线商店:Eastend.pl
2020/01/11 全球购物
Java平台和其他软件平台有什么不同
2015/06/05 面试题
英文版餐饮业求职信
2013/10/18 职场文书
自动化专业本科毕业生求职信
2013/10/20 职场文书
工程管理专业毕业生自荐信
2014/01/24 职场文书
《金色的脚印》教后反思
2014/04/23 职场文书
2014年征兵标语
2014/06/20 职场文书
2014年度思想工作总结
2014/11/27 职场文书
学校实习推荐信
2015/03/27 职场文书
2015年教师见习期工作总结
2015/05/20 职场文书
2016年三八节红领巾广播稿
2015/12/17 职场文书
《折线统计图》教学反思
2016/02/22 职场文书
使用Golang的channel交叉打印两个数组的操作
2021/04/29 Golang
Redis 持久化 RDB 与 AOF的执行过程
2021/11/07 Redis