php,js,css字符串截取的辦法集錦

字號:


    可能沒什么含量,求少拍磚。
    首先是PHP版本的。
    代碼如下:
    <?php echo mb_strimwidth("這里是內(nèi)容", 0,3,"...","utf-8"); ?>
    其實只用mb_strimwidth一個函數(shù)就可以了,該函數(shù)的說明如下:
    mb_strimwidth — 獲取按指定寬度截斷的字符串
    string mb_strimwidth ( string $str , int $start , int $width [, string $trimmarker = "" [, string $encoding = mb_internal_encoding() ]] )
    參數(shù)說明:
    $str 為要截斷的字符串(即原字符串,輸出的字符串)
    $start 從第幾個字符開始截取,默認是0
    $width 所需修剪的寬度
    $trimmarker 截取后,在字符串末尾添加的內(nèi)容(常見的為...表示省略),默認我i空
    $encoding 這個參數(shù)很重要,如果字符串是中文,一定要加上。否則。。。。就可以看到“�”這東西了,以前沒仔細看過這個函數(shù),在wordpress主題里因為要顯示文章的一小段內(nèi)容,然后末尾就有亂碼了,很久都不知道為什么。另外這個參數(shù)應(yīng)該是跟網(wǎng)頁的編碼格式一致的,個人測試的時候網(wǎng)頁編碼utf-8,參數(shù)寫為gbk的時候漢字就shit了。。(求大牛解釋)
    php版本的就這樣了,有時候以為是php語言的問題,其實只是我們沒仔細研究它。
    js版本的:
    substring()和substr()方法,兩個方法*幾乎*沒區(qū)別,
    substring()方法的第一個參數(shù)必填,為要提取的子串的第一個字符在 字符串 中的位置,第二個參數(shù)可選,是要提取的子串的最后一個字符在 stringObject 中的位置多 1位,默認無,到字符串末尾。
    substr()第一個參數(shù)必需。要抽取的子串的起始下標。必須是數(shù)值。如果是負數(shù),那么該參數(shù)聲明從字符串的尾部開始算起的位置。也就是說,-1 指字符串中最后一個字符,-2 指倒數(shù)第二個字符,以此類推。第二個參數(shù)為可選。子串中的字符數(shù)。必須是數(shù)值。如果省略了該參數(shù),那么返回從 stringObject 的開始位置到結(jié)尾的字串。
    例子:
    代碼如下:
    <script type="text/javascript">
    var str="Hello world!"
    document.write(str.substring(3))
    </script>
    這個例子輸出:lo world!
    從原字符串第三位開始,到末尾
    代碼如下:
    <script type="text/javascript">
    var str="Hello world!"
    document.write(str.substring(3,7))
    </script>
    這個例子輸出:lo w
    從原字符串第四位開始,到第七位
    代碼如下:
    <script type="text/javascript">
    var str="Hello world!"
    document.write(str.substr(3))
    </script>
    輸出:lo world!
    第三位開始到結(jié)尾
    復(fù)制代碼 代碼如下:
    <script type="text/javascript">
    var str="Hello world!"
    document.write(str.substr(3,7))
    </script>
    輸出:lo worl
    從第四位開始,截取7位。
    第三個就是CSS的了
    CSS截取主要使用text-overflow這個屬性。
    text-overflow: [ clip | ellipsis | <string> ]
    text-overflow默認值為clip ,即當內(nèi)容超出容器時,會裁切掉超出的文本,值為ellipsis時,會用省略號替代超出的文本;也可以用特定的字符串來替代超出的文本(目前僅 firefox 支持)。
    省略號的例子:
    代碼如下:
    .ellipsis{
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    }