PHP指字元數量截斷,在後面加上省略號

時間 2021-07-14 10:47:11

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...