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

WBOY
Libérer: 2016-07-25 08:59:04
original
1187 Les gens l'ont consulté
  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 下一页 尾页



Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal