-
- 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 istan examplenstring";
- echo strtok($string,"nt" );//回傳:This is
- echo '
';
- echo strtok("nt"); //當第二次回傳:an example
- echo '
';
- echo strtok("nt"); //當第三次回傳: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");//strspn("abcdefg","1234567890");//strspn("abcdefg","1234567890");//strspn("abcdefg","1234567890");//strspn("abcdefg","1234567890");//strspn("abcdefg","1234567890");//strspn("abcdefg","1234567890");//strspn("abcdefg","1234567890");//strspn( 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 或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 ("'<script>]*?>.*?</script>'si", // 去掉javascript
- "']*?>'si", // 去掉HTML 標記
- "'([rn])[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<script>alert("adfasdf");</script>');
複製程式碼
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]
複製程式碼
1
|