php 字符串结束符oo,基于PHP常用字符串的总结(待续)

基于PHP常用字符串的总结(待续)

更新时间:2013年06月07日 09:23:55   作者:

本篇文章是对PHP常用的字符串进行了详细的总结分析,需要的朋友参考下

1.分割与合并

implode:

echo implode(",", array('lastname', 'email', 'phone'));//数组转成字符串

explode:

print_r(explode(",", 'lastname,email,phone'));//字符串转成数组

split:

print_r(split("[/.-]","2008-9.12"));//以/或.或-任一符号切成数组

str_split:

print_r(str_split("Hello Friend",1));//将字符串切开

preg_split:

//正则分割

//$ops = preg_split("{[+*/-]}","3+5*9/2");

//print_r($ops);//返回:Array ( [0] => 3 [1] => 5 [2] => 9 [3] => 2 )

http_build_query:

//生成 url-encoded 之后的请求字符串

$data = array('localhost'=>'aa',

'user'=>'bb',

'password'=>'cc');

echo http_build_query($data);//返回:localhost=aa&user=bb&password=cc

strtok:

//将字符串切成小段

$string = "This is\tan example\nstring";

echo strtok($string,"\n\t");//返回:This is

echo '


';

echo strtok("\n\t"); //当第二次返回:an example

echo '


';

echo strtok("\n\t"); //当第三次返回:string

2.查找和替换

字符串中很多是 r:取最后的,i:不区分大小写的

echo $pos = strpos('abcdef abcdaef', 'a'); // 字母a第一次出现的位置,区分大小写

echo $pos = strrpos('abcdef abcdeaf', 'a'); // 字母a最后一次出现的位置,区分大小写

stripos:不区分大小写

strripos:不区分大小写

echo strstr('user@exa@mple.com', '@');//返回:@exa@mple.com

stristr:不区分大小写

echo strchr('user@exa@mple.com', '@');//返回:@exa@mple.com

strrchr:则返回:@mple.com,

preg_grep:

//返回与模式匹配的数组单元

$food = preg_grep("/^p/",array("apple","orange","pip","banana"));

print_r($food); //返回:Array ( [2] => pip )

strtr:

//以指定的数组替换找到的字符串

$arr = array("www"=>"ftp","yahoo"=>"baidu");

echo strtr("www.yahoo.com",$arr);//返回:ftp.baidu.com

echo strtr("www.yahoo.com","wo","sx");//返回:sss.yahxx.cxm 翻译字符串 把所有w换成了s把所有的o换成了x

strspn:

//找出比对到的最初部份的长度

echo strspn("abcdefg","1234567890");//返回:0

//找出没有比对到的最初部份的长度

echo strcspn("abcdefg","1234567890");//返回:7

3.正则

preg_match:

//返回 pattern 所匹配的次数。要么是 0 次(没有匹配)或 1 次,因为 preg_match() 在第一次匹配之后将停止搜索。

if (preg_match ("/php/i", "PhP is the web scripting language of choice."))

echo "存在";

else

echo "不存在";

preg_match_all:

//则相反,会一直搜索到 subject 的结尾处。

preg_match_all("/\(?(\d{3})?\)?(?(1)[\-\s])\d{3}-\d{4}/x",

"Call 555-1212 or 1-800-555-1212", $phones);

print_r($phones[0]);//取得所有的电话号码

ereg_replace:

//URL 替换为超连接

echo ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",

"\\0", '这是百度http://www.baidu.com网站。');

preg_replace:过滤

$search = array ("''si",  // 去掉 javascript

"']*?>'si",           // 去掉 HTML 标记

"'([\r\n])[\s]+'",                 // 去掉空白字符

"'&(quot|#34);'i",                 // 替换 HTML 实体

"'&(amp|#38);'i",

"'&(lt|#60);'i",

"'&(gt|#62);'i",

"'&(nbsp|#160);'i",

"'&(iexcl|#161);'i",

"'&(cent|#162);'i",

"'&(pound|#163);'i",

"'&(copy|#169);'i",

"'(\d+);'e");                    // 作为 PHP 代码运行

$replace = array ("",

"",

"\\1",

"\"",

"&",

"

">",

" ",

chr(161),

chr(162),

chr(163),

chr(169),

"chr(\\1)");

echo $text = preg_replace ($search, $replace, 'test');

preg_quote:

//转义正则表达式字符,把每个要加\都加上\,符合正则式。

echo preg_quote('$40 for a g3/400','/');//返回:\$40 for a g3\/400

sql_regcase:

//产生用于不区分大小的匹配的正则表达式

echo sql_regcase("Foo-bar.a"); //返回:[Ff][Oo][Oo]-[Bb][Aa][Rr].[Aa]

4.URL 编码处理函数

urlencode:

echo $str = urlencode('http://www.baidu.com?key=百度');//编码

echo urldecode($str);//解码

rawurlencode:

//百分号(%)后跟两位十六进制数的序列都将被替换成原义字符

//注: rawurldecode() 不会把加号('+')解码为空格,而 urldecode() 可以。

echo $str = rawurlencode('http://www.baidu.com?key=百度');//编码

echo rawurldecode($str);

parse_url:

//解析 URL,返回其组成部分

print_r(parse_url("http://username:password@hostname/path?arg=value#anchor"));

parse_str:

//是将URL解析成变量

$str = "id=1&name=2";

parse_str($str);

echo $name;

//有第二个参数时,把值存到了数组中

$str = "id=1&name=2";

parse_str($str,$array);

print_r($array);

5.时间函数

mktime:

//把日期转换成时间戳

echo time()-mktime(0,0,0,9,17,2008);//返回:当前时间和2008年9月17日的时间差。

echo date('Y-m-d H:i:s');//当前的日期和时间

getdate:

//取得日期/时间信息

print_r(getdate(time()));

6.比较

similar_text:

//比较两个字符串的相似度

$a = "Hellohhh6";

$b = "hello3hh";

echo similar_text($a,$b);//返回:6比较对应的位置有多少相同的字符

echo "
";

similar_text($a,$b,$similar);

echo $similar."%"; //输出相同字符的百分比

soundex:

//比较两个单词的发音

$a = "ddHello6";

$b = "hello3";

echo soundex($a)."
";

echo soundex($b)."
";

if(soundex($a)==soundex($b)) echo "发音相同";else echo '不同';

strnatcmp():

//按自然排序法时进行字符串比较

$arr = array("a1.jpg","a2.jpg","a3.jpg","a4.jpg");

$max = $arr[0];

for($i=0;$i

{

if(strnatcmp($arr[$i],$max)>0)

$max = $arr[$i];

}

echo $max;//返回:a4.jpg

strcmp:

//区分大小写,按字节进行字符串比较,第一个字符串大于第二个字符串时返回:1,等于返回:0,小于返回:-1

echo strcmp('abc','Abc');

strcasecmp:

//返回两个字符串的相差数

echo strcasecmp('wbc','bbc');//返回:21

strncmp:

//指定字元数目的字符串比对,此函数和相似,不同的是,你可以指定要用来比对的字符串的字元数目。如果任何一个字符串比 len还短时,则会使用那个字符串的长度来比对

echo strncmp("adrdvark","aardwolf",4);//返回:1

7.排序

sort:

//将数组的值由a-z重排

$a = array("1","s","3","n","5");//返回:1,3,5,n,s

sort($a);//排序print_r($a);

8.其他

str_pad:

//填塞字符串成为指定的长度,pad_type可以是STR_PAD_RIGHT、STR_PAD_LEFT或是STR_PAD_BOTH

echo str_pad("www.yahoo.com",17,"_",STR_PAD_BOTH);//字符串的填补函数__www.yahoo.com__

strlen("aaa");//求数组的长度返回:3

strrev();// 字符串的颠倒

strtolower();//转换成小写

strtoupper();//转换成大写

str_replace()将字符串替换,区分大小写str_ireplace()不区分大小写

ucfirst();//将第一个字母转换成大写

ucwords();//将每个单词的第一个字母转换成大写

echo join("&",array('wo', 'men', 'shi'));//字符串的连合 返回:wo&men&shi用&连合

count_chars:

//传回在字符串中使用的字元的资讯

print_r(count_chars("Hellohhh6",0));//返回字符串中每个字节值(0~255)出现的次数作为值的数组。0列出所有的。1只列出现次数大于0的。2只列出现次数等于0的。3返回所使用的字节值组成的字符串。如:6Hehlo。4返回所未使用的字节值组成的字符串

str_replace:

str_replace("yahoo","baidu","www.yahoo.com");

$c = "www.yahoo.com";

$arr = array("yahoo","com");

echo str_replace($arr,"baidu",$c);//返回:www.baidu.baidu

$c = "www.yahoo.com";

$arr1 = array("www","yahoo","com");

$arr2 = array("ftp","baidu","net");

echo str_replace($arr1,$arr2,$c);//返回:ftp.baidu.net

substr($a,2,2);//取子字符串

echo substr_count("This is a test", "is");//统计子字符串的出现的个数

substr_replace();//替换子字符串

$url = "http://localhost/zheng_ze_biao_da/youxiang.php";

echo substr($url,strrpos($url,"/")+1);//返回:youxiang.php用于返回文件名

str_word_count:

$a = "I/ love/ you/";

echo str_word_count($a);//返回:3 统计字符串的单词的个数

print_r(str_word_count($a,1));//返回:Array ( [0] => I [1] => love [2] => you )

//print_r(str_word_count($a,2));//返回:Array ( [0] => I [3] => love [9] => you )

//print_r(str_word_count($a,1,"/"));返回:Array ( [0] => I/ [1] => love/ [2] => you/ )这里是忽略"/"的

相关文章

1a1b05c64693fbf380aa1344a7812747.png

这篇文章主要介绍了PHP基于IMAP收取邮件的方法,结合实例形式分析了PHP基于IMAP接收邮件的相关设置与使用技巧,并附带了IMAP相关函数说明,需要的朋友可以参考下2017-08-08

4f55910a645b073bc4fc65dc10dc14bd.png

经常我们需要做一些判断是否是手机访问的时候,然后进行自动跳转操作,这是从一个PHP框架分离出来的一段判断是否为手机移动终端的函数,分享下2013-02-02

0ea3c7666119d5615e582f823fb3fad6.png

本系列文章将从易到难,从浅入深,循序渐进的将PHP一步步介绍给大家,希望大家能喜欢2014-08-08

4f96a78db829b1556ff16de21e013c7a.png

这篇文章主要介绍了Linux下安装oracle客户端并配置php5.3,需要的朋友可以参考下2014-10-10

8cc1031babc6aff2319f1c6af8544aa0.png

如何提高网页加载速度需要对网页怎样的优化等等,都是站长们所关心的问题,其实压缩网页的方法很多,本文将讲解一下php压缩HTML函数轻松实现压缩html/js/Css,感兴趣的朋友可以了解下,希望本文对你有所帮助2013-01-01

0c932a99bb7b6f23c937db507070cc7b.png

Linux下进行MYSQL编程时插入中文乱码的解决方案...2007-03-03

cca732bf65a93ed2ec0ac80c638460fe.png

这篇文章主要介绍了PHP设计模式之装饰器模式,结合实例形式详细分析了php装饰器模式的概念、原理、定义、使用方法及相关操作注意事项,需要的朋友可以参考下2018-04-04

2d9f31f2af7b675a3d153d2b7f1035a7.png

这篇文章主要介绍了PHP的PDO操作,以简单示例形式分析了PHP操作PDO的简单连接,初始化及查询,插入等操作技巧,需要的朋友可以参考下2016-03-03

b452cee8ec5cd9e58ab98eba17281e59.png

下面小编就为大家带来一篇老生常谈php 正则中的i,m,s,x,e分别表示什么。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-03-03

f4838ec7e2d4da28e0b57d4e852dadd4.png

这篇文章主要介绍了php限制ip地址范围的方法,涉及php操作IP地址的技巧,非常具有实用价值,需要的朋友可以参考下2015-03-03

最新评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值