版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第7章 字符串,字符串在PHP中的應(yīng)用很廣泛,在數(shù)據(jù)存儲(chǔ)、傳輸、文件讀寫(xiě)等很多方面,都能使用到字符串函數(shù)。與字符串有關(guān)的函數(shù)很多,本章主要介紹與字符串相關(guān)的函數(shù)的使用。,7.1 字符串顯示函數(shù),在本書(shū)2.1節(jié)中,就對(duì)字符串顯示函數(shù)進(jìn)行了介紹。雖然顯示字符串函數(shù)很簡(jiǎn)單,但是其在程序運(yùn)行過(guò)程中,要注意的問(wèn)題很多。本節(jié)將重新回顧這些函數(shù),并介紹更多的顯示函數(shù),也將介紹如何將字符串輸出到緩沖區(qū)。,7.1.1 輸出字符串到屏幕,echo()與print()函數(shù)已經(jīng)介紹過(guò)其使用方法。下面通過(guò)代碼,來(lái)介紹其他顯示字符串的函數(shù),代碼如清單所示。,7.1.2 字符串與文件,使用fprintf()函數(shù),可以把給定
2、的字符串,格式化后輸出到一個(gè)句柄中。下面演示fprintf()函數(shù)的使用方法,代碼如清單所示。 清單 fprintf()函數(shù)的使用 ,7.2 字符串與數(shù)組,在本書(shū)第2章語(yǔ)法部分,介紹了字符串操作符的使用方法。使用字符串操作符,可以把1個(gè)或多個(gè)字符串,連接為1個(gè)長(zhǎng)字符中。本節(jié)介紹的函數(shù),主要用于分割和連接字符串。,7.2.1 將字符串分割成小塊,使用str_split()函數(shù)可以把指定的字符串,按指定的長(zhǎng)度分割,并返回一個(gè)數(shù)組,數(shù)組的單元就是分割后字符串。下面演示str_split()函數(shù)的使用方法,代碼如清單7.3所示。 清單 str_split()函數(shù)的使用方法 使用默認(rèn)長(zhǎng)度分割字符串; e
3、cho ; print_r(str_split($enString); echo ; echo 使用指定長(zhǎng)度分割字符串; echo ; print_r(str_split($enString,4); echo ; ?,7.2.2 在字符串中插入字符串,使用chunk_split()函數(shù),可以根據(jù)參數(shù)指定的長(zhǎng)度,把字符串分為若干段,在每段字符串后附上指定字符串后,重新連接為一個(gè)字符串,并返回。下面演示chunk_split()函數(shù)的使用方法,代碼如清單所示。 清單 chunk_split()函數(shù)的使用方法 在字符串的指定長(zhǎng)度后,添加默認(rèn)字符串; echo ; echo chunk_split($
4、String,4); echo ; echo 在字符串的指定長(zhǎng)度后,使用-分割符; echo ; echo chunk_split($String,4,-); echo ; ?,7.2.3 字符串轉(zhuǎn)化為數(shù)組,使用explode()函數(shù),可以按指定的字符,分割另一個(gè)字符串,并返回一個(gè)數(shù)組。下面演示explode()函數(shù)的使用方法,代碼如清單所示。 清單 explode()函數(shù)的使用方法 使用空格來(lái)分割字符串; echo ; print_r(explode( ,$String); echo ; echo 使用豎線來(lái)分割字符串; echo ; print_r(explode(|,$LString);
5、 echo ; echo 使用豎線來(lái)分割字符串,并指定返回的數(shù)組數(shù); echo ; print_r(explode(|,$LString,2); echo ; ?,7.2.4 數(shù)組轉(zhuǎn)化為字符串,使用implode()函數(shù),可以使用指定的字符串,把一個(gè)數(shù)組連接為一個(gè)字符串。下面演示implode()函數(shù)的使用方法,代碼如清單所示。 清單 implode()函數(shù)的使用方法 ; /使用|作為連接字符串 $string = implode(|,$array); /顯示連接后的數(shù)組 echo $string; ?,7.3 字符串與空格,在實(shí)際應(yīng)用中,字符串經(jīng)常讀取,以及其他函數(shù)的操作,往往會(huì)產(chǎn)生一些多余
6、的空格。這些多余的字符串,參與運(yùn)算時(shí),會(huì)產(chǎn)生錯(cuò)誤的結(jié)果,而使用相關(guān)的字符串函數(shù),可以很簡(jiǎn)單的解決這個(gè)問(wèn)題。,7.3.1 去掉字符串左邊的字符,使用ltrim()函數(shù),可以去掉指定字符串中右邊的指定字符,并返回去掉指字符后的字符串。下面演示ltrim()函數(shù)的使用方法,代碼如清單所示。,7.3.2 去掉字符串右邊的字符,使用rtrim()函數(shù),可以去掉指定字符串中右邊的指定字符,并返回去掉指字符后的字符串。下面演示rtrim()函數(shù)的使用方法,代碼如清單所示。,7.3.3 去掉字符串兩邊的字符,使用trim()函數(shù),可以去掉指定字符串中左右兩邊的指定字符,并返回去掉指字符后的字符串。下面演示tr
7、im()函數(shù)的使用方法,代碼如清單所示。,7.4 字符串的比較,字符串的比較,主要集中在對(duì)類型,以及大小寫(xiě)的比較上。在實(shí)際應(yīng)用中,在遇到同一個(gè)英文單詞,如果其大小寫(xiě)不同,會(huì)使用運(yùn)算結(jié)果出錯(cuò)的話,就可以先對(duì)字符串進(jìn)行比較,再根據(jù)情況進(jìn)行下一步的操作。,7.4.1 字符串比較,在表達(dá)式中,可以使用:=、!=、=、!=來(lái)進(jìn)行字符串比較,下面演示比較字符串的方法,代碼如清單所示。,7.4.2 使用函數(shù)比較字符串,使用strcasecmp()函數(shù)用于兩個(gè)字符串進(jìn)行比較大小。而strcmp()函數(shù)用于區(qū)分大小寫(xiě)的字符串的比較大小。下面演示strcmp()與strcasecmp()函數(shù)的使用方法,代碼如清單
8、所示。,7.5 字符串的替換與插入,本節(jié)主要介紹用于替換字符串的函數(shù)。替換字符串,即使用指定的字符串,替換掉原來(lái)字符串中的相關(guān)字符,以組成新的字符串來(lái)參與運(yùn)算?,F(xiàn)在流行網(wǎng)站使用的模板系統(tǒng),都是使用字符替換作為基礎(chǔ)的。,7.5.1 替換當(dāng)前字符串中的字符,使用str_replace()函數(shù),可以替換掉字符串中的相關(guān)字符,而產(chǎn)生一個(gè)新字符串。下面演示str_replace ()函數(shù)的使用方法,代碼如清單所示。,7.5.2 在指定位置插入字符串,使用substr_replace()函數(shù),可以在指定位置插入字符串,并返回一個(gè)新字符串。下面演示substr_replace ()函數(shù)的使用方法,代碼如清單
9、所示。,7.5.3 字符串替換函數(shù)與模板,根據(jù)str_replace()函數(shù)替換字符串的原理,可以實(shí)現(xiàn)簡(jiǎn)單的模板系統(tǒng)。下面演示簡(jiǎn)單模板系統(tǒng)的使用,代碼如清單所示。,7.6 字符串與HTML,在操作或讀取HTML文件時(shí),經(jīng)常會(huì)遇到一些特殊的字符串,這些特殊的字符串,都是由HTML標(biāo)簽轉(zhuǎn)換而成了。在操作帶有HTML標(biāo)簽的字符串或文件時(shí),可以使用相關(guān)函數(shù)來(lái)得到需要的結(jié)果。,7.6.1 把字符轉(zhuǎn)化為HTML實(shí)體形式,使用htmlspecialchars()函數(shù),可以把HTML文件中,類似 /使用strip_tags()函數(shù)去除字符串中的標(biāo)簽 $string = strip_tags($html); /
10、顯示返回的字符串 echo $string;/輸出:HTML內(nèi)容 /使用strip_tags()函數(shù)去除指定的HTML標(biāo)簽 $string = strip_tags($html,); /顯示返回的字符串 echo $string; /輸出:HTML內(nèi)容 ?,7.8.5 解析URL,parse_url()并不是字符串函數(shù),其主要使用是用于解析一個(gè)URL,并返回一個(gè)包括相關(guān)內(nèi)容的數(shù)組。下面演示parse_url()函數(shù)的使用方法,代碼如清單所示。,7.8.6 字母大小寫(xiě)的轉(zhuǎn)換,在處理英文單詞時(shí),會(huì)遇到大小寫(xiě)不統(tǒng)一的問(wèn)題,而且有些字符串處理函數(shù),對(duì)于字母的大小寫(xiě)是敏感的。要比較兩個(gè)大小寫(xiě)不同的單詞是
11、否想等,可以把要比較的單詞,都轉(zhuǎn)成小寫(xiě)或大寫(xiě)字母來(lái)實(shí)現(xiàn)。在PHP中轉(zhuǎn)化字母為大寫(xiě)的函數(shù)是strtoupper(),把字母轉(zhuǎn)換為小寫(xiě)的函數(shù)是strtolower(),下面介紹這兩個(gè)函數(shù)的使用方法,代碼如清單所示。,7.9 常見(jiàn)問(wèn)題,本章主要介紹了與字符串相關(guān)的函數(shù)。在腳本運(yùn)行時(shí),很多地方都涉及到字符串的操作,本節(jié)主要介紹的是,字符串操作過(guò)程中出現(xiàn)的問(wèn)題。,7.9.1 關(guān)于模板應(yīng)用的問(wèn)題,前面介紹了一般模板的原理,并演示了一個(gè)簡(jiǎn)單的模板系統(tǒng)。雖然這個(gè)模板實(shí)現(xiàn)的效果比較簡(jiǎn)單,但是經(jīng)過(guò)進(jìn)一步豐富的話,其也可以滿足大部分程序的模板化需要。 關(guān)于模板文件,清單7.14的代碼中的模板是以字符串的形式存在的。
12、在實(shí)際應(yīng)用中,可以把模板內(nèi)容保存為一個(gè)文件,在要使用此模板時(shí),可以使用文件系統(tǒng)函數(shù)讀取這個(gè)文件,并替換其中的字符即可。 關(guān)于模板輸出時(shí),可以使用字符串輸出函數(shù),直接輸出已經(jīng)替換好的模板字符串,也可以把這個(gè)字符串寫(xiě)入一個(gè)文件,從而形成靜態(tài)頁(yè)面,方便瀏覽。,7.9.2 關(guān)于HTML編碼的問(wèn)題,在處理表單提交的變量時(shí),為了防止用戶提交HTML代碼,可以使用strip_tags()函數(shù),去掉指定變量中的HTML代碼。 在有些情況下,腳本本身希望用戶提交帶有HTML編碼的數(shù)據(jù),而且需要把這些數(shù)據(jù)存儲(chǔ),供以后使用。帶有HTML代碼的數(shù)據(jù),可以真接保存到文件中,但是大部分情況下,是把用戶提交的數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中,由于數(shù)據(jù)庫(kù)編碼等原因,真接向數(shù)據(jù)庫(kù)中存儲(chǔ)帶有HTML代碼的數(shù)據(jù),會(huì)產(chǎn)生錯(cuò)誤。這時(shí)可以使用htmlspecia
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年湖南環(huán)境生物職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試備考題庫(kù)帶答案解析
- 2026年武漢海事職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試備考題庫(kù)帶答案解析
- 2026 年高職音樂(lè)教育(樂(lè)器演奏)試題及答案
- 《荷花淀》課件統(tǒng)編高二語(yǔ)文選擇性必修中冊(cè)
- 承包塔吊合同協(xié)議書(shū)范本
- 礦石破碎篩分工操作管理能力考核試卷含答案
- 家政服務(wù)員崗前創(chuàng)新實(shí)踐考核試卷含答案
- 保險(xiǎn)合同終止協(xié)議書(shū)
- 拖拉機(jī)電器裝試工班組考核競(jìng)賽考核試卷含答案
- 未來(lái)五年小蒼蘭企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略分析研究報(bào)告
- 山能e學(xué)的課件
- 急診危重癥患者院內(nèi)轉(zhuǎn)運(yùn)共識(shí)的標(biāo)準(zhǔn)化分級(jí)轉(zhuǎn)運(yùn)方案2025
- 二十屆四中全會(huì)測(cè)試題及參考答案(第二套)
- 行政部給公司員工培訓(xùn)
- 中考物理 題型06【電學(xué)實(shí)驗(yàn)題】押題必做15題
- 2026中考數(shù)學(xué)專題復(fù)習(xí) 二次函數(shù)壓軸題綜合三年真題匯 總(含解析)
- 企業(yè)安全生產(chǎn)責(zé)任制評(píng)估與改進(jìn)方案
- 昆侖神話敘事的百年學(xué)術(shù)史重構(gòu)與跨學(xué)科研究
- 噴錨工安全培訓(xùn)課件
- (必刷)湖南專升本《基礎(chǔ)護(hù)理學(xué)》考點(diǎn)精粹必做300題-含答案
- 隧道監(jiān)測(cè)與數(shù)據(jù)采集技術(shù)方案
評(píng)論
0/150
提交評(píng)論