在網頁制作過程中,我們經常會遇到將大段文字進行截取的情況。而PHP語言的一個內置函數,content截取函數能夠幫助我們在保留原有意思的前提下,將超出限制的字符數量截取掉,使其符合界面布局和用戶需求。
使用PHP的content截取函數non_substr(),可以通過設定參數的方法,達到我們的需要目的:
function non_substr($str, $start=0, $length=500, $suffix='...'){ if(function_exists("mb_substr")){ mb_internal_encoding("UTF-8"); if(mb_strlen($str) >$length){ return mb_substr($str, $start, $length).$suffix; }else{ return mb_substr($str, $start, $length); } }elseif(function_exists('iconv_substr')){ if(iconv_strlen($str) >$length){ return iconv_substr($str, $start, $length,'utf-8').$suffix; }else{ return iconv_substr($str, $start, $length,'utf-8'); } }else{ $slen = strlen($str); if($slen >$length){ for($i=0;$i<$length;$i++){ if(ord($str[$i]) >128)$pos++; } if($pos%2 == 1){ $length++; } return substr($str, 0, $length).$suffix; }else{ return substr($str, $start, $length); } } }
這段代碼實現的功能就是對$str的內容進行截取,截取位置可以通過$start參數控制,截取文字數量可通過$length參數進行調整。
在沒有限制的情況下,text中的內容全部顯示出來:
<p class="text"><?php echo $text; ?></p>
而在限制內容的情況下,需要使用一個新的變量來替代我們原有的$text:
<p class="text"><?php echo non_substr($text,0,100); ?></p>
上面這個例子展示了如何將$text截取到最多只有100個字符,但這只是最基礎的功能,我們可以根據實際情況修改$length參數的值,這樣就可以靈活控制我們要截取的內容范圍。
另外,有一種特殊的情況,在使用content截取函數時,我們不僅要保留字符數量,還要將HTML標簽一同保留。在這種情況下,我們便可以使用strip_tags()函數與non_substr()函數聯合使用:
<?php $str = "<p>這是一段帶HTML標簽的文本</p><p>測試:end</p>"; $str = strip_tags($str); echo non_substr($str,0,10); ?>
通過上面的代碼片段,我們可以發(fā)現,在對文本進行了HTML標簽處理后,仍然可以非常方便地進行截取。
總之,PHP content截取函數是頁面開發(fā)中非常有用的一種函數,能夠在保證頁面布局的同時,將內容進行布局處理。在實際應用過程中,我們可以通過調整不同的參數來實現各種不同的功能需求。
上一篇&#x 轉碼 php
下一篇php content