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 相关文章推荐
Discuz!5的PHP代码高亮显示插件(黑暗中的舞者更新)
Jan 29 PHP
mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
Apr 24 PHP
关于页面优化和伪静态
Oct 11 PHP
PHP Zip解压 文件在线解压缩的函数代码
May 26 PHP
Laravel 5框架学习之Blade 简介
Apr 08 PHP
php数组随机排序实现方法
Jun 13 PHP
php检查页面是否被百度收录
Oct 28 PHP
详解PHP中array_rand函数的使用方法
Sep 11 PHP
关于Laravel Route重定向的一个注意点
Jan 16 PHP
PHP编译configure时常见错误的总结
Aug 17 PHP
php 广告点击统计代码(php+mysql)
Feb 21 PHP
php实现对文件压缩简单的方法
Sep 29 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
也谈 PHP 和 MYSQL
2006/10/09 PHP
基于PHP中的常用函数回顾
2013/07/11 PHP
destoon网站转移服务器后搜索汉字出现乱码的解决方法
2014/06/21 PHP
JQuery中的ready函数冲突的解决方法
2010/05/17 Javascript
基于jQuery的模仿新浪微博时间的组件
2011/10/04 Javascript
JavaScript去除空格的三种方法(正则/传参函数/trim)
2013/02/06 Javascript
js jquery获取随机生成id的服务器控件的三种方法
2013/07/11 Javascript
JS获取select-option-text_value的方法
2013/12/26 Javascript
DOM基础教程之使用DOM控制表格
2015/01/20 Javascript
详解JavaScript对W3C DOM模版的支持情况
2015/06/16 Javascript
详解AngularJS中自定义过滤器
2015/12/28 Javascript
node.js+captchapng+jsonwebtoken实现登录验证示例
2017/08/17 Javascript
vue2.0 datepicker使用方法
2018/02/04 Javascript
javascript严格模式详解(含严格模式与非严格模式的区别)
2019/11/12 Javascript
[06:09]辉夜杯主赛事开幕式
2015/12/25 DOTA
[00:30]明星选手化身超级英雄!2018DOTA2亚洲邀请赛全明星赛来临!
2018/04/06 DOTA
Django中的CBV和FBV示例介绍
2018/02/25 Python
对python while循环和双重循环的实例详解
2019/08/23 Python
python logging通过json文件配置的步骤
2020/04/27 Python
CSS Grid布局教程之网格单元格布局
2014/12/30 HTML / CSS
HTML5标签与HTML4标签的区别示例介绍
2013/07/18 HTML / CSS
台湾乐天市场:日本No.1的网路购物网站
2017/03/22 全球购物
定义一结构体数组表示分数,并求两个分数相加之和
2013/06/11 面试题
护理职业应聘自荐书
2013/09/29 职场文书
急诊科护士自我鉴定
2013/10/14 职场文书
六一儿童节活动策划方案
2014/01/27 职场文书
二年级语文教学反思
2014/02/02 职场文书
企业文化口号
2014/06/12 职场文书
小学社团活动总结
2014/06/27 职场文书
公司员工活动策划方案
2014/08/20 职场文书
个人授权委托书样本
2014/09/13 职场文书
开展批评与自我批评发言材料
2014/10/17 职场文书
2014年办公室文员工作总结
2014/11/12 职场文书
Redis 异步机制
2022/05/15 Redis
Redis全局ID生成器的实现
2022/06/05 Redis
Python使用pyecharts控件绘制图表
2022/06/05 Python