首頁  >  文章  >  後端開發  >  php中常用字串的用法總結

php中常用字串的用法總結

WBOY
WBOY原創
2016-07-25 08:59:041158瀏覽
  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 istan examplenstring";
  3. echo strtok($string,"nt" );//回傳:This is
  4. echo '
    ';
  5. echo strtok("nt"); //當第二次回傳:an example
  6. echo '
    ';
  7. echo strtok("nt"); //當第三次回傳: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");//strspn("abcdefg","1234567890");//strspn("abcdefg","1234567890");//strspn("abcdefg","1234567890");//strspn("abcdefg","1234567890");//strspn("abcdefg","1234567890");//strspn("abcdefg","1234567890");//strspn("abcdefg","1234567890");//strspn( 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 或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. "'([rn])[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

1 2 下一頁尾頁


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn