Heim  >  Artikel  >  Backend-Entwicklung  >  php中常用字符串的用法总结

php中常用字符串的用法总结

WBOY
WBOYOriginal
2016-07-25 08:59:041155Durchsuche
  1. echo implode(",", array('lastname', 'email', 'phone'));//数组转成字符串
复制代码

explode:

  1. print_r(explode(",", 'lastname,email,phone'));//字符串转成数组
复制代码

split:

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

str_split:

  1. print_r(str_split("Hello Friend",1));//将字符串切开
复制代码

preg_split:

  1. //正则分割
  2. //$ops = preg_split("{[+*/-]}","3+5*9/2");
  3. //print_r($ops);//返回:Array ( [0] => 3 [1] => 5 [2] => 9 [3] => 2 )
复制代码

http_build_query:

  1. //生成 url-encoded 之后的请求字符串
  2. $data = array('localhost'=>'aa',
  3. 'user'=>'bb',
  4. 'password'=>'cc');
  5. echo http_build_query($data);//返回:localhost=aa&user=bb&password=cc
复制代码

strtok:

  1. //将字符串切成小段
  2. $string = "This is\tan example\nstring";
  3. echo strtok($string,"\n\t");//返回:This is
  4. echo '
    ';
  5. echo strtok("\n\t"); //当第二次返回:an example
  6. echo '
    ';
  7. echo strtok("\n\t"); //当第三次返回:string
复制代码

2,字符串的查找和替换 字符串中很多是 r:取最后的,i:不区分大小写的

  1. echo $pos = strpos('abcdef abcdaef', 'a'); // 字母a第一次出现的位置,区分大小写
  2. echo $pos = strrpos('abcdef abcdeaf', 'a'); // 字母a最后一次出现的位置,区分大小写
复制代码

stripos:不区分大小写 strripos:不区分大小写

  1. echo strstr('user@exa@mple.com', '@');//返回:@exa@mple.com
复制代码

stristr:不区分大小写

  1. echo strchr('user@exa@mple.com', '@');//返回:@exa@mple.com
复制代码

strrchr:则返回:@mple.com,

preg_grep:

  1. //返回与模式匹配的数组单元
  2. $food = preg_grep("/^p/",array("apple","orange","pip","banana"));
  3. print_r($food); //返回:Array ( [2] => pip )
复制代码

strtr:

  1. //以指定的数组替换找到的字符串
  2. $arr = array("www"=>"ftp","yahoo"=>"baidu");
  3. echo strtr("www.yahoo.com",$arr);//返回:ftp.baidu.com
  4. echo strtr("www.yahoo.com","wo","sx");//返回:sss.yahxx.cxm 翻译字符串 把所有w换成了s把所有的o换成了x
复制代码

strspn:

  1. //找出比对到的最初部份的长度
  2. echo strspn("abcdefg","1234567890");//返回:0
  3. //找出没有比对到的最初部份的长度
  4. echo strcspn("abcdefg","1234567890");//返回:7
复制代码

3,字符串的正则匹配 preg_match:

  1. //返回 pattern 所匹配的次数。要么是 0 次(没有匹配)或 1 次,因为 preg_match() 在第一次匹配之后将停止搜索。
  2. if (preg_match ("/php/i", "PhP is the web scripting language of choice."))
  3. echo "存在";
  4. else
  5. echo "不存在";
复制代码

preg_match_all:

  1. //则相反,会一直搜索到 subject 的结尾处。
  2. preg_match_all("/\(?(\d{3})?\)?(?(1)[\-\s])\d{3}-\d{4}/x",
  3. "Call 555-1212 or 1-800-555-1212", $phones);
  4. print_r($phones[0]);//取得所有的电话号码
复制代码

ereg_replace:

  1. //URL 替换为超连接
  2. echo ereg_replace("[[:alpha:]]+://[^[:space:]]+[[:alnum:]/]",
  3. "\\0", '这是百度http://www.baidu.com网站。');
  4. preg_replace:过滤
  5. $search = array ("'<script>]*?>.*?</script>'si", // 去掉 javascript
  6. "']*?>'si", // 去掉 HTML 标记
  7. "'([\r\n])[\s]+'", // 去掉空白字符
  8. "'&(quot|#34);'i", // 替换 HTML 实体
  9. "'&(amp|#38);'i",
  10. "'&(lt|#60);'i",
  11. "'&(gt|#62);'i",
  12. "'&(nbsp|#160);'i",
  13. "'&(iexcl|#161);'i",
  14. "'&(cent|#162);'i",
  15. "'&(pound|#163);'i",
  16. "'&(copy|#169);'i",
  17. "'(\d+);'e"); // 作为 PHP 代码运行
  18. $replace = array ("",
  19. "",
  20. "\\1",
  21. "\"",
  22. "&",
  23. "">",
  24. " ",
  25. chr(161),
  26. chr(162),
  27. chr(163),
  28. chr(169),
  29. "chr(\\1)");
  30. echo $text = preg_replace ($search, $replace, 'test<script>alert("adfasdf");</script>');
复制代码

preg_quote:

  1. //转义正则表达式字符,把每个要加\都加上\,符合正则式。
  2. echo preg_quote('$40 for a g3/400','/');//返回:\$40 for a g3\/400
复制代码

sql_regcase:

  1. //产生用于不区分大小的匹配的正则表达式
  2. echo sql_regcase("Foo-bar.a"); //返回:[Ff][Oo][Oo]-[Bb][Aa][Rr].[Aa]
复制代码

1 2 下一页 尾页



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn