字符串截取的几种方法(php,js,css三种)

能够没什么含量,求少拍砖。
首先是PHP版本的。

    <?php echo mb_strimwidth("这里是内容", 0,3,"...","utf-8"); ?>

实在只用mb_strimwidth一个函数就能够了,该函数的申明以下:
mb_strimwidth — 猎取按指定宽度截断的字符串
string mb_strimwidth ( string $str , int $start , int $width [, string $trimmarker = “” [, string $encoding = mb_internal_encoding() ]] )
参数申明:
$str 为要截断的字符串(即原字符串,输出的字符串)
$start 从第几个字符最先截取,默许是0
$width 所需修剪的宽度
$trimmarker 截取后,在字符串末端增加的内容(罕见的为…示意省略),默许我i空
$encoding 这个参数很重要,假如字符串是中文,一定要加上。不然。。。。就能够看到“�”这东西了,之前没细致看过这个函数,在wordpress主题里由于要显现文章的一小段内容,然后末端就有乱码了,良久都不晓得为何。别的这个参数应该是跟网页的编码花样一致的,个人测试的时刻网页编码utf-8,参数写为gbk的时刻汉字就shit了。。(求大牛诠释)

php版本的就这样了,有时刻以为是php言语的题目,实在只是我们没细致研讨它。

js版本的:
substring()和substr()要领,两个要领*险些*没区分,
substring()要领的第一个参数必填,为要提取的子串的第一个字符在 字符串 中的位置,第二个参数可选,是要提取的子串的末了一个字符在 stringObject 中的位置多 1位,默许无,到字符串末端。
substr()第一个参数必需。要抽取的子串的肇端下标。必需是数值。假如是负数,那末该参数声明从字符串的尾部最先算起的位置。也就是说,-1 指字符串中末了一个字符,-2 指倒数第二个字符,以此类推。第二个参数为可选。子串中的字符数。必需是数值。假如省略了该参数,那末返回从 stringObject 的最先位置到末端的字串。
例子:
    <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!
第三位最先到末端
    <script type="text/javascript">
    var str="Hello world!"
    document.write(str.substr(3,7))
    </script>
输出:lo worl
从第四位最先,截取7位。

JS这两个要领能够看
http://www.w3school.com.cn/js/jsref_substring.asp
http://www.w3school.com.cn/jsref/jsref_substr.asp

第三个就是CSS的了
CSS截取重要运用text-overflow这个属性。
text-overflow: [ clip | ellipsis | <string> ]

text-overflow默许值为clip ,即当内容超越容器时,会裁切掉超越的文本,值为ellipsis时,会用省略号替换超越的文本;也能够用特定的字符串来替换超越的文本(现在仅 firefox 支撑)。

省略号的例子:
    .ellipsis{
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }
参考资料:
http://quirksmode.org/css/user-interface/textoverflow.html
https://developer.mozilla.org/en-US/docs/Web/CSS/text-overflow

实在css的申明看一下mozilla开发者网站的图例就邃晓了。在这里就不多说了。

    原文作者:启程
    原文地址: https://segmentfault.com/a/1190000000419842
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞