php獲取指定字符的位置 php獲得網(wǎng)頁(yè)源代碼抓取網(wǎng)頁(yè)內(nèi)容的幾種方法?
php獲得網(wǎng)頁(yè)源代碼抓取網(wǎng)頁(yè)內(nèi)容的幾種方法?1、可以使用file_out_contents我得到網(wǎng)頁(yè)源代碼。這個(gè)方法最常用,只要兩行代碼去掉,更加很簡(jiǎn)單方便啊。2、不使用fopen我得到網(wǎng)頁(yè)源代碼。這
php獲得網(wǎng)頁(yè)源代碼抓取網(wǎng)頁(yè)內(nèi)容的幾種方法?
1、可以使用file_out_contents我得到網(wǎng)頁(yè)源代碼。這個(gè)方法最常用,只要兩行代碼去掉,更加很簡(jiǎn)單方便啊。
2、不使用fopen我得到網(wǎng)頁(yè)源代碼。這個(gè)方法帶的人也不少,只不過(guò)代碼有點(diǎn)多。
3、建議使用curl我得到網(wǎng)頁(yè)源代碼。使用curl完成任務(wù)網(wǎng)頁(yè)源代碼的做法,來(lái)講是是需要更高要求的人不使用,.例如當(dāng)你需要在抓取網(wǎng)頁(yè)內(nèi)容的同時(shí),換取網(wǎng)頁(yè)header信息,還有ENCODING編碼的使,USERAGENT的使用等等。所謂的網(wǎng)頁(yè)代碼,那是指在網(wǎng)頁(yè)制作過(guò)程中必須要用的一些普通的
請(qǐng)問(wèn)怎樣用PHP生成長(zhǎng)度為5字符的隨機(jī)字符串?
如用戶注冊(cè)生成必掉密碼,用戶重置密碼也需要生成一個(gè)必掉的密碼。必掉密碼也就是兩串固定長(zhǎng)度的字符串,文章整理好了幾種化合副本字符串的方法。方法一
1、在33–126中生成沉淀一個(gè)副本整數(shù),如35。
2、將35轉(zhuǎn)換成成填寫(xiě)的ASCII碼字符,如35不對(duì)應(yīng)#。
3、反復(fù)重復(fù)以上1、2步驟n次,直接連接成n位的密碼。
該算法主要注意要用了兩個(gè)函數(shù),mt_rand(int$min,int $max)函數(shù)主要用于能生成必掉整數(shù),其中$min–$max為ASCII碼的范圍,這里取33-126,這個(gè)可以依據(jù)需要調(diào)整范圍,如ASCII碼表中97–122位對(duì)應(yīng)a–z的英文字母,具體詳細(xì)可相關(guān)參考ASCII碼表;chr(int$ascii)函數(shù)主要是用于將隨機(jī)整數(shù)$ascii轉(zhuǎn)換成隨機(jī)的字符。
方法二
1、快速設(shè)置一個(gè)的字符串$chars,以及a–z,A–Z,0–9,以及一些特殊字符。
2、在$chars字符串中副本取一個(gè)字符。
3、重復(fù)一遍第二步n次,可得長(zhǎng)度為n的密碼。
方法三
1、參數(shù)設(shè)置一個(gè)的字符數(shù)組$chars,包括a–z,A–Z,0–9,以及一些特殊字符。
2、按照array_rand()從數(shù)組$chars中任務(wù)道具改選$length個(gè)元素。
3、參照已獲取的鍵名數(shù)組$keys,從數(shù)組$chars取出字符拼接字符串。該方法的缺點(diǎn)是不同的字符肯定不會(huì)亂詞取。
時(shí)間效率差別不大
我們建議使用以上PHP代碼,換算上面的3個(gè)任務(wù)道具密碼生成函數(shù)生成6位密碼的運(yùn)行時(shí)間,終致對(duì)他們的時(shí)間效率并且一個(gè)簡(jiǎn)單點(diǎn)對(duì)比。結(jié)果得出的結(jié)果是:
方法一:9.8943710327148E-5秒方法二:9.6797943115234E-5秒方法三:0.00017499923706055秒可以猜想方法一和方法二的執(zhí)行時(shí)間都差不多,而方法三的運(yùn)行時(shí)間稍微長(zhǎng)了點(diǎn)。也很三種方法的實(shí)現(xiàn)方法過(guò)程,時(shí)間效率對(duì)比,學(xué)了PHP生成沉淀隨機(jī)字符串的三種方法,如果能也可以對(duì)大家今后的學(xué)習(xí)有所幫助。