十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
php截取數(shù)組的方法是使用 array_slice() 函數(shù)。
成都地區(qū)優(yōu)秀IDC服務(wù)器托管提供商(成都創(chuàng)新互聯(lián)).為客戶提供專業(yè)的四川電信科技城機(jī)房,四川各地服務(wù)器托管,四川電信科技城機(jī)房、多線服務(wù)器托管.托管咨詢專線:18982081108
array_slice(array,offset,length,preserve)
其中:
offset 數(shù)值。規(guī)定取出元素的開始位置。如果是正數(shù),則從前往后開始取,如果是負(fù)值,從后向前取 offset 絕對值。
length 可選。數(shù)值。規(guī)定被返回?cái)?shù)組的長度。如果是負(fù)數(shù),則從后向前,選取該值絕對值數(shù)目的元素。如果未設(shè)置該值,則返回所有元素。
例子 1
例子:
$a = array(
0 = "Jack",
1 = "Tom",
2 = "Mary",
3 = "Bird");
$b = array_slice($a,1,2);
print_r($b);
結(jié)果顯示:Array
(
[0] = Tom
[1] = Mary
)
可以用正則表達(dá)式,例如:
?php
$str="我最愛看的《西游記》101頁";
if?(preg_match('/《(.*?)》/',$str,$reg))?echo?'書名:'.$reg[1];
if?(preg_match('/》(\d+)/',$str,$reg))?echo?'頁碼:'.$reg[1];
?
1、從第4個(gè)字符開始截取到字符串末尾,類似asp中的left:
輸出: lacecake.com
2、PHP substr函數(shù)從右邊截取3個(gè)字符,類似asp中的right:
輸出:.com
3、PHP substr函數(shù)從第4個(gè)字符開始截取3個(gè)字符:
輸出:lac
4、有時(shí)我們知道一個(gè)字符串的開始和結(jié)尾,中間是不定長的字符,這時(shí)除了用PHP substr函數(shù)的正則外我們還可以用substr實(shí)現(xiàn)(當(dāng)然要得到中間的字符方法有N種,在此只是舉例substr的應(yīng)用):
本例去掉開頭4個(gè)字符和結(jié)尾3個(gè)字符,輸出中間的字符串:
輸出:lacecake.
我懷疑你這個(gè)序列化是錯(cuò)誤的
正確的序列化應(yīng)該是a:1:{s:7:"choices";s:44:"1=光電鼠標(biāo) 2=機(jī)械鼠標(biāo) 3=沒有鼠標(biāo)";}
“1=光電鼠標(biāo) 2=機(jī)械鼠標(biāo) 3=沒有鼠標(biāo)”? 這段文字是44個(gè)字節(jié)。
$str?=?'a:1:{s:7:"choices";s:44:"1=光電鼠標(biāo)?2=機(jī)械鼠標(biāo)?3=沒有鼠標(biāo)";}??';
$rs?=?unserialize($str);
print_r($rs['choices']);
仔細(xì)看看是不是這樣:)
strip_tags是PHP自帶的過濾HTML標(biāo)簽的函數(shù)。
$row=mb_substr(htmlspecialchars(strip_tags($latestnews['content'])),0,26,'UTF-8')
如果想把script/script之間的也去掉,只能正則了:
$str = preg_replace("|script.*.*/script|Usi", '', $str);
substr可以截?cái)嘧址?,但是不能顯示省略號,用 Smarty 的的 truncate 方法可以把頁面的字符串截?cái)嗖@示省略號。