1樓:匿名使用者
strsub 截會出現亂碼,因為他是按位元組來擷取的,而gbk漢字是2個位元組,字母或數字是一個位元組,例如你選了擷取10個,當中有一個字母,其它是漢字,那麼最後一個就會是亂碼
mb_strsub 這個不會,只是有一點不好,會把數字和字母當做一個字元來算
2樓:王春春說食品
substr可以截斷字串,但是不能顯示省略號,用 smarty 的的 truncate 方法可以把頁面的字串截斷並顯示省略號。
3樓:匿名使用者
function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true) else|[\xf0-\xff][\x80-\xbf]/";
$re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";
$re['gbk'] = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";
$re['big5'] = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";
preg_match_all($re[$charset], $str, $match);
$slice = join("",array_slice($match[0], $start, $length));
}return $suffix ? $slice.'...' : $slice;}
4樓:燃燒我的卡路里灬
mb_strsub 函式,用好後在下面連結一個省略號就好了
php顯示指定長度的字串,超出長度以省略號填補尾部
5樓:陽光上的橋
例子1,使用strlen獲得長度,substr提取前5個字元:
$str = '123456789';
if (strlen($str)>5) $str=substr($str,0,5) . '...';
echo $str;
例子2,使用explode拆分ip,然後組裝:
$ip = '192.168.0.1';
list($ip1,$ip2,$ip3) = explode('.',$ip);
$ip = "*-*-$ip3-$ip4";
echo $ip;
6樓:皇上皇
function strcut($str,$length)//$str為要進行擷取的字串,$length為擷取長度(漢字算一個字,字母算半個字)
else
}$string .= "...";
return $string;
}return $str;
}$a = "我是tiancai";
echo strcut($a,7);
截前頭和截後邊都一樣,ip那個我就不寫了。
php中怎樣把過長的字元只顯示規定的幾個後面用省略號代替
7樓:匿名使用者
寫個測抄試:
bai<?php
function cut_str($str,$len,$suffix="...")
return $str;
}else
return $str;
}}應該能滿足du
簡單zhi的需求dao
php如何對比字串內容,PHP語言中如何比較兩個字串完全相等?
山西新華電腦學校 php中,可以用雙等號 或 三等號 來比較字串。二者的區別是 雙等號不比較型別,三等號會比較型別,但不轉換型別 用雙等號進行比較時,如果等號左右兩邊有數字型別的值,剛會把另一個值轉化為數字,然後進行比較。如果是純字串或者null時,會轉化為0進行比較。同樣,大小於號也和等號一樣,比...
PHP如何使用foreach迴圈拼接字串
宇宙大師之一 實際上用一個foreach迴圈就可以實現 雙foreach迴圈也可以,不過有點多此一舉例如 a array a b b array c d 一個foreach迴圈 foreach a as key val 雙foreach迴圈 foreach a as key val a array ...
(急)php擷取字串問題
使用mb substr 這個是php自帶的內建函式庫,專門解決多位元組混合擷取的問題。string mb substr string str int start int length string encoding 中文擷取不亂碼,使用 iconv substr函式 str 我愛你abc中國 ech...