重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
實際上PHP核心是把所有的文本都安ASIIC來看待的,GBK編碼下一個中文字符是2個字節,所以substr時候有可能截取辦個中文字符例如stbstr("a中", 0, 2)就把“中”截斷了。
創新互聯公司來電聯系:18982081108,為您提供成都網站建設網頁設計及定制高端網站建設服務,創新互聯公司網頁制作領域十年,包括木屋等多個行業擁有多年的營銷推廣經驗,選擇創新互聯公司,為企業保駕護航。
mb_string有的服務器沒有編譯進去。
下邊有一個截取中文字符的函數,要求是GBK編碼的。
$str是字符串,$strlen是要截取的長度,一個中文算兩個字符。
用這個函數就不會出現亂碼了
?php
/* 截取一定長度的完整的中文字符 */
function cnsubstr($str,$strlen=10) {
if(empty($str)||!is_numeric($strlen)){
return false;
}
if(strlen($str)=$strlen){
return $str;
}
//得到第$length個字符 并判斷是否為非中文 若為非中文
//直接返回$length長的字符串
$last_word_needed=substr($str,$strlen-1,1);
if(!ord($last_word_needed)128){
$needed_sub_sentence=substr($str,0,$strlen);
return $needed_sub_sentence;
}else{
for($i=0;$i$strlen;$i++){
if(ord($str[$i])128){
$i++;
}
}//end of for
$needed_sub_sentence=substr($str,0,$i);
return $needed_sub_sentence;
}
}
strip_tags是PHP自帶的過濾HTML標簽的函數。
$row=mb_substr(htmlspecialchars(strip_tags($latestnews['content'])),0,26,'UTF-8')
如果想把script/script之間的也去掉,只能正則了:
$str = preg_replace("|script.*.*/script|Usi", '', $str);
?php
//方法一
$str?=?"abcstat=100remain=1589";
$start?=?strrpos($str,?'=');
echo?substr($str?,?$start+1);
//方法二
$str?=?"abcstat=100remain=1589";
$arr?=?explode('=',?$str);
echo?$arr[2];
?
取值的方法有很多種,簡單的給出2個
望采納Thx
1、從第4個字符開始截取到字符串末尾,類似asp中的left:
輸出: lacecake.com
2、PHP substr函數從右邊截取3個字符,類似asp中的right:
輸出:.com
3、PHP substr函數從第4個字符開始截取3個字符:
輸出:lac
4、有時我們知道一個字符串的開始和結尾,中間是不定長的字符,這時除了用PHP substr函數的正則外我們還可以用substr實現(當然要得到中間的字符方法有N種,在此只是舉例substr的應用):
本例去掉開頭4個字符和結尾3個字符,輸出中間的字符串:
輸出:lacecake.
用substr可以截取字符串,用法如下
echo
substr("abcdef",
1,
3);
//
返回
"bcd"
你也可以用css來實現:
div
id="news"xxxxx/div
css文件里
div#news{width:5px;position:absolute;left:468px;top:118px;z-index:9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
關鍵是overflow:hidden;text-overflow:ellipsis;white-space:nowrap;這句,它會把你超出div的部分變成...