連接和分割字符串

  • 2020-09-23 14:54:19
  • 閱讀次數:次
  • 作者:盈嵐科技小編
  • 來(lái)源:http://amzcoolest.com

做網(wǎng)站中,一般地,如果想查看字符串的各個(gè)部分。例如,查看句子中的單詞(如在拼寫(xiě)檢查時(shí)),或者要將一個(gè)域名或電子郵件地址分割成一個(gè)個(gè)的組件部分。PHP提供了幾個(gè)字符串函數(和一個(gè)正則表達式函數)來(lái)實(shí)現此功能。

explode()函數能夠劈開(kāi)字符串,具體語(yǔ)法如下:array explode(string separator, string input, int limit);

這個(gè)函數帶有一個(gè)輸入字符串作為參數,并根據一個(gè)指定的分隔符字符串將字符串本身分割為小塊,將分割后的小塊返回到一個(gè)數組中??梢酝ㄟ^(guò)可選的參數limit來(lái)限制分成字符串小塊的數量。

【示例1】如果通過(guò)顧客的電子郵件地址獲得域名,可以使用如下所示的代碼:$email_array = explode("@", $email);

在這里,調用函數explode()將顧客的電子郵件地址分割成兩部分:用戶(hù)名稱(chēng),它保存于$email_array[0]中,而域名保存在$email_array[1]中?,F在,就可以測試域名來(lái)判斷顧客的來(lái)源,分別進(jìn)行不同的反饋處理。if ($email_array[1]=="bigcustomer.com")    $toaddress = "bob@bobsdomain.com";else    $toaddress = "feedback@bobsdomain.com";注意:如果域名是大寫(xiě)的或者大小寫(xiě)混合的,這個(gè)函數就無(wú)法正常使用。這時(shí)可以通過(guò)將域名轉換成全是大寫(xiě)或小寫(xiě)的方法來(lái)避免這個(gè)問(wèn)題,然后再按如下所示方法進(jìn)行檢查是否匹配。if (strtolower($email_array[1])=="bigcustomer.com")       $toaddress = "bob@bobsdomain.com";else       $toaddress = "feedback@bobsdomain.com";

使用implode()或join()函數可以實(shí)現與函數explode()相反的效果,這兩個(gè)函數的效果是一致的。例如:$new_email = implode("@", $email_array);以上代碼是從$email_array中取出數組元素,然后用第一個(gè)傳入的參數字符將它們連接在一起。這個(gè)函數的調用同explode()十分相似,但效果卻相反。與函數explode()每次都將一個(gè)字符串全部分割成若干小塊不同,strtok()函數一次只從字符串中取出一些片段。對于一次從字符串中取出一個(gè)單詞的處理來(lái)說(shuō),strtok()函數比explode()函數的效果更好。

strtok()函數的基本語(yǔ)法如下:string strtok(string input, string separator);

分隔符可以是一個(gè)字符,也可以是一個(gè)字符串,但是,需要注意的是,輸入的字符串會(huì )根據分隔符字符串中的每個(gè)字符來(lái)進(jìn)行分割,而不是根據整個(gè)分隔字符串來(lái)分隔。

調用函數strtok()并不是那么簡(jiǎn)單。為了從字符串中得到第一個(gè)片段,可以調用strtok()函數,并帶有兩個(gè)輸入參數:一個(gè)是要進(jìn)行片段化處理的字符串,還有一個(gè)就是分隔符。為了從字符串中得到片段序列,可以只用一個(gè)參數(分隔符),該函數會(huì )保持它自己的內部指針在字符串中的位置。如果想重置指針,可以重新將該字符串傳給這個(gè)函數。

【示例2】使用strtok()函數獲取字符串片段。$token = strtok($feedback, " ");echo $token."<br>";while ($token!=""){    $token = strtok(" ");    echo $token."<br>";};

通常,使用像empty()這樣的函數來(lái)檢查顧客是否在表單中真正輸入了反饋信息。在上面代碼中,將顧客反饋中的每個(gè)片段打印在每一行上,并一直循環(huán)到不再有字符片段。在這個(gè)過(guò)程中,空字符串將被自動(dòng)跳過(guò)。使用substr()函數可以訪(fǎng)問(wèn)一個(gè)字符串給定起點(diǎn)和終點(diǎn)的子字符串。當需要得到某個(gè)固定格式字符串中的一部分時(shí),它會(huì )非常有用。substr()函數的基本語(yǔ)法如下:string substr(string string, int start, int [length] );這個(gè)函數將返回字符串的子字符串副本。

【示例3】使用substr()函數截取字符串。$test = "Your customer service is excellent";substr($test, 1);

如果只用一個(gè)正數作為子字符串起點(diǎn)來(lái)調用這個(gè)函數,將得到從起點(diǎn)到字符串結束的整個(gè)字符串。上面示例將返回“our customer service is ex-cellent”。注意,字符串的起點(diǎn)和數組一樣是從零開(kāi)始的。

【示例4】如果只用一個(gè)負數作為子字符串起點(diǎn)來(lái)調用它,將得到一個(gè)原字符串尾部的一個(gè)子字符串,字符個(gè)數等于給定負數的絕對值。例如:$test = "Your customer service is excellent";substr($test, -9);

上面代碼將返回“excellent”。length參數可以用于指定返回字符的個(gè)數(如果它是正數),或是字符串序列的尾部(如果它是負數)。例如:substr($test, 0, 4);將返回字符串的前4個(gè)字符,即“Your”。下面的代碼:echo substr($test, 4, -13);將返回從第4個(gè)到倒數第13個(gè)字符,即“cus-tomer service”,第1個(gè)字符的位置為0,因此位置5就是第6個(gè)字符。


當前文章標題:連接和分割字符串

當前URL:http://amzcoolest.com/news/wzzz/3281.html

上一篇:格式化字符串

下一篇:比較字符串

網(wǎng)站建設、抖音推廣、頭條推廣、微信朋友圈推廣、快手推廣專(zhuān)線(xiàn):15368242187(微信同號)
亚洲精品无码mv在线|新国产精品视频福利免费|日韩高清在线观看不卡一区二区|一本久久a久久精品免费不|亚洲私人无码内射免费观看