您现在的位置是:首页 > PHP > PHP中常用的字符串操作网站首页 PHP

PHP中常用的字符串操作

简介在学习和使用php编程中,一些常用的字符串操作,包括以下(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、切割成数组等)

一、字符串替换

str_replace("iwind", "kiki", "i love iwind, iwind said");

将输出 "i love kiki, kiki said"

str_replace(find,replace,string,count)参数 描述 

find 必需。规定要查找的值。 

replace 必需。规定替换 find 中的值的值。 

string 必需。规定被搜索的字符串。 

count 可选。一个变量,对替换数进行计数。

二、字符串删除

方法一

$string = 'fdjborsnabcdtghrjosthabcrgrjtabc';

$string = preg_replace('/[abc]+/i','',$string);

方法二

把字符串转化成数组

$arr = str_split($string);

foreach($arr as $key => $value){

   if(in_array($value,array('a','b','c'))){

       unset($arr[$key]);

   }

}

$string = implode('',$arr);

 

三、字符串截取

<?php  

 //构造字符串  

 $str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";  

 echo "原字符串:'.$str.'";  //按各种方式进行截取

 $str1 = substr($str,5);  

 echo "从第5个字符开始取至最后:'.$str1.'";  

 $str2 = substr($str,9,4);  

 echo "从第9个字符开始取4个字符:'.$str2.'";  

 $str3 = substr($str,-5);  

 echo "取倒数5个字符:'.$str3.'";  

 $str4 = substr($str,-8,4);  

 echo "从倒数第8个字符开始向后取4个字符:'.$str4.'";  

 $str5 = substr($str,-8,-2);  

 echo "从倒数第8个字符开始取到倒数第2个字符为止:'.$str5.'";

?>

支持中英文混合截取。

参数:

$str_cut    需要截断的字符串

$length     允许字符串显示的最大长度

程序功能:截取全角和半角(汉字和英文)混合的字符串以避免乱码

function substr_cut($str_cut,$length)

{    

   if(strlen($str_cut)>$length)

   {for($i=0;$i<$length;$i++)

      if(ord($str_cut[$i])>128)

          $i++;        

          $str_cut = substr($str_cut,0,$i)."..";

   }      

   return $str_cut;

}

?>

 

四、字符串比较

在PHP中,可以用==(双等号)或者 ===(三等号)来比较字符串。两者的区别是双等号不比较类型,三等号会比较类型,它不转换类型;用双等号进行比较时,如果等号左右两边有数字类型的值,刚会把另一个值转化为数字,然后进行比较。这样的话,如果是纯字符串或者NULL时,会转化为0进行比较。同样,大小于号也和等号一样,比较时可能出现不正确的结果。 

所以,比较字符串可以用PHP的自带函数strcmp和strcasecmp。其中strcasecmp是strcmp的变种,它会先把字符串转化为小写再进行比较。 如下代码: 

var_dump(0 == 'Test');

var_dump(0 == '');

var_dump(5 > 'T');

var_dump(strcmp(5, 'T'));

 

结果为(第1~3结果是不对的,只有第4个是对的): 

bool(true)

bool(true)

bool(true)

int(-1)

 

五、字符串查找

strstr()函数用于获取一个指定字符串在另一个字符串中首次出现的位置到后者末尾的子字符串,如果执行成功,则返回剩余字符串(存在相匹配的字符);如果没有找到相匹配的字符,则返回false。

语法:string strstr(string haystack,string needle)

参数:haystack:必要参数,指定从哪个字符串中进行搜索。

参数:needle:必要参数,指定搜索的对象,如果该参数是一个数值,那么将搜索与这个数值的ASCII值相匹配的字符。

实例代码如下:

<?php

   echo strstr(“明日编程词典”,”编”); //输出查询的字符串

   echo “<br>”;         //执行回车

   echo strstr(“www.phpfensi.com”,”111”);  //输出查询的字符串(从第一个m取值)

   echo “<br>”;         //执行回车

   echo strstr(“0431-84972266″,”8″);    //输出查询的字符串

?>

 

定义和用法:strpos() 函数返回字符串在另一个字符串中第一次出现的位置,如果没有找到该字符串,则返回 false。

语法:strpos(string,find,start)

参数:string 必需,规定被搜索的字符串。

参数:find 必需,规定要查找的字符。

参数:start 可选,规定开始搜索的位置。

注释:该函数对大小写敏感,如需进行对大小写不敏感的搜索,请使用 stripos() 函数。

实例代码如下:

<?php

   echo strpos("Hello world!","wo");

?>

//输出:6

 

六、字符串大小写转换

<?php

$foo = 'hello world!';

$foo = ucwords($foo);

// Hello World!

$bar = 'HELLO WORLD!';

$bar = ucwords($bar);

//HELLO WORLD!$bar = ucwords(strtolower($bar));

// Hello World!

?>

第一个词首字母变大写:ucfirst()

<?php

$foo = 'hello world!';

$foo = ucfirst($foo);

//Hello world!$bar = 'HELLO WORLD!';

$bar = ucfirst($bar);

//HELLO WORLD!

$bar = ucfirst(strtolower($bar));

//Hello world!

?>

第一个词首字母小写lcfirst()

<?php

$foo = 'HelloWorld';

$foo = lcfirst($foo);

//helloWorld

$bar = 'HELLO WORLD!';

$bar = lcfirst($bar);

//hELLO WORLD!

$bar = lcfirst(strtoupper($bar));

//hELLO WORLD!

?>

字母变大写:strtoupper()

字母变小写:strtolower()

 

七、字符串切割

<?php

   $str="1|2|3|4|5|";

   $var=explode("|",$str);

   print_r($var);

?>

把$str按|进行分割,php还有其他的把字符串指定字符分割成数组

str_split(string,length)参数 描述 

string 必需。规定要分割的字符串。 

length 可选。规定每个数组元素的长度。默认是 1。 

json_decode()这个函数也可以把字符串分割成数组 (第二个参数为true才行)


原文转载自:http://www.cnblogs.com/huangcong/


分享给朋友吧:

微信里点“发现”,扫一下
二维码便可将文本分享至朋友圈

声明:

1,如果您发现本文有错误或者有疑问,请 联系站长 修正或 留言
2,本站提供的知识或者学习方法均为博主学习工作过程中所遇到的问题的解决办法积累!
3,部分文章是引用借鉴其他优秀个人博客的知识,学习如逆水行舟,不进则退!
4,本站推荐的资源均经由站长检测或者个人发布,不包含恶意软件病毒代码等,如果你发现此类问题,请向站长举报!
5,本站仅提供文件的免费下载服务,如果你对代码程序软件的使用有任何疑惑,请留言。
6,本网站在文章内容仅供于学习参考使用,请勿作为商业通途使用,版权归原作者所有。如您对内容、版权等问题存在异议请与本站联系,我们会及时进行处理解决。
Top