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如何替換字串中的指定字元
常用的函式有 str replace 和preg replace str replace 函式使用乙個字串替換字串中的另一些字元。str replace find,replace,string,count 引數 描述。find 必需。規定要查詢的值。replace 必需。規定替換 find 中的值的...
php如何對比字串內容,PHP語言中如何比較兩個字串完全相等?
php中,可以用雙等號 或 三等號 來比較字串。二者的區別是 雙等號不比較型別,三等號會比較型別,但不轉換型別 用雙等號進行比較時,如果等號左右兩邊有數字型別的值,剛會把另一個值轉化為數字,然後進行比較。如果是純字串或者null時,會轉化為0進行比較。同樣,大小於號也和等號一樣,比較時可能出現不正確...
php如何獲取字串某字元的位置
stripos 返回 字串bai在另一字串中第du 一次出zhi現的位置 大小寫不 dao敏感 stristr 查詢字內符串在另一字串中第容一次出現的位置 大小寫不敏感 strpos 返回字串在另一字串中首次出現的位置 對大小寫敏感 strrchr 查詢字串在另乙個字串中最後一次出現的位置。strr...