php,js,css字符串截取的辦法集錦
可能沒什么含量,求少拍磚。
首先是PHP版本的。
<?php echo mb_strimwidth("這里是內(nèi)容", 0,3,"...","utf-8"); ?>
其實(shí)只用mb_strimwidth一個(gè)函數(shù)就可以了,該函數(shù)的說(shuō)明如下:
mb_strimwidth — 獲取按指定寬度截?cái)嗟淖址?br />
string mb_strimwidth ( string $str , int $start , int $width [, string $trimmarker = "" [, string $encoding = mb_internal_encoding() ]] )
參數(shù)說(shuō)明:
$str 為要截?cái)嗟淖址丛址?,輸出的字符串?br />
$start 從第幾個(gè)字符開始截取,默認(rèn)是0
$width 所需修剪的寬度
$trimmarker 截取后,在字符串末尾添加的內(nèi)容(常見的為...表示省略),默認(rèn)我i空
$encoding 這個(gè)參數(shù)很重要,如果字符串是中文,一定要加上。否則。。。。就可以看到“�”這東西了,以前沒仔細(xì)看過這個(gè)函數(shù),在wordpress主題里因?yàn)橐@示文章的一小段內(nèi)容,然后末尾就有亂碼了,很久都不知道為什么。另外這個(gè)參數(shù)應(yīng)該是跟網(wǎng)頁(yè)的編碼格式一致的,個(gè)人測(cè)試的時(shí)候網(wǎng)頁(yè)編碼utf-8,參數(shù)寫為gbk的時(shí)候漢字就shit了。。(求大牛解釋)
php版本的就這樣了,有時(shí)候以為是php語(yǔ)言的問題,其實(shí)只是我們沒仔細(xì)研究它。
js版本的:
substring()和substr()方法,兩個(gè)方法*幾乎*沒區(qū)別,
substring()方法的第一個(gè)參數(shù)必填,為要提取的子串的第一個(gè)字符在 字符串 中的位置,第二個(gè)參數(shù)可選,是要提取的子串的最后一個(gè)字符在 stringObject 中的位置多 1位,默認(rèn)無(wú),到字符串末尾。
substr()第一個(gè)參數(shù)必需。要抽取的子串的起始下標(biāo)。必須是數(shù)值。如果是負(fù)數(shù),那么該參數(shù)聲明從字符串的尾部開始算起的位置。也就是說(shuō),-1 指字符串中最后一個(gè)字符,-2 指倒數(shù)第二個(gè)字符,以此類推。第二個(gè)參數(shù)為可選。子串中的字符數(shù)。必須是數(shù)值。如果省略了該參數(shù),那么返回從 stringObject 的開始位置到結(jié)尾的字串。
例子:
<script type="text/javascript">
var str="Hello world!"
document.write(str.substring(3))
</script>
這個(gè)例子輸出:lo world!
從原字符串第三位開始,到末尾
<script type="text/javascript">
var str="Hello world!"
document.write(str.substring(3,7))
</script>
這個(gè)例子輸出:lo w
從原字符串第四位開始,到第七位
<script type="text/javascript">
var str="Hello world!"
document.write(str.substr(3))
</script>
輸出:lo world!
第三位開始到結(jié)尾
<script type="text/javascript">
var str="Hello world!"
document.write(str.substr(3,7))
</script>
輸出:lo worl
從第四位開始,截取7位。
JS這兩個(gè)方法可以看
http://www.w3school.com.cn/js/jsref_substring.asp
http://www.w3school.com.cn/jsref/jsref_substr.asp
第三個(gè)就是CSS的了
CSS截取主要使用text-overflow這個(gè)屬性。
text-overflow: [ clip | ellipsis | <string> ]
text-overflow默認(rèn)值為clip ,即當(dāng)內(nèi)容超出容器時(shí),會(huì)裁切掉超出的文本,值為ellipsis時(shí),會(huì)用省略號(hào)替代超出的文本;也可以用特定的字符串來(lái)替代超出的文本(目前僅 firefox 支持)。
省略號(hào)的例子:
.ellipsis{
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
[copy]參考資料:
http://quirksmode.org/css/user-interface/textoverflow.html
https://developer.mozilla.org/en-US/docs/Web/CSS/text-overflow
其實(shí)css的說(shuō)明看一下mozilla開發(fā)者網(wǎng)站的圖例就明白了。在這里就不多說(shuō)了。
相關(guān)文章
前端請(qǐng)求并發(fā)和請(qǐng)求覆蓋的解決方法
最近在開發(fā)一些大屏,涉及到比較多的數(shù)據(jù)來(lái)源,接口也沒有做聚合,導(dǎo)致頁(yè)面需要調(diào)很多接口來(lái)填充頁(yè)面數(shù)據(jù),那么就會(huì)有接口并發(fā)的問題出現(xiàn),所以本文給大家介紹了如何解決前端請(qǐng)求并發(fā)和請(qǐng)求覆蓋,需要的朋友可以參考下2024-10-10
全面解析JavaScript中apply和call以及bind(推薦)
在javascript中apply、call和bind是三兄弟,很好的搭檔,下面小編給大家全面解析JavaScript中apply和call以及bind的相關(guān)知識(shí),感興趣的朋友一起學(xué)習(xí)吧2016-06-06
解決bootstrap導(dǎo)航欄navbar在IE8上存在缺陷的方法
這篇文章主要為大家詳細(xì)介紹了解決bootstrap導(dǎo)航欄navbar在IE8上存在缺陷的方法,需要的朋友可以參考下2016-07-07
JavaScript中關(guān)聯(lián)原型鏈屬性特性
這篇文章主要介紹了JavaScript中關(guān)聯(lián)原型鏈屬性特性的相關(guān)資料,需要的朋友可以參考下2016-02-02
jQuery檢測(cè)輸入的字符串包含的中英文的數(shù)量
這篇文章主要介紹了jQuery檢測(cè)輸入的字符串包含的中英文的數(shù)量的實(shí)現(xiàn)方法,非常的實(shí)用,這里推薦給小伙伴,有需要的朋友可以參考下。2015-04-04
JavaScript捕捉事件和阻止冒泡事件實(shí)例分析
這篇文章主要介紹了JavaScript捕捉事件和阻止冒泡事件,結(jié)合實(shí)例形式分析了冒泡的原理及javascript阻止冒泡的相關(guān)操作技巧,需要的朋友可以參考下2018-08-08
原生JS實(shí)現(xiàn)逼真的圖片3D旋轉(zhuǎn)效果詳解
這篇文章主要介紹了原生JS實(shí)現(xiàn)逼真的圖片3D旋轉(zhuǎn)效果,結(jié)合實(shí)例形式詳細(xì)分析了javascript實(shí)現(xiàn)圖片3D旋轉(zhuǎn)相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2019-02-02
2022發(fā)布ECMAScript新特性盤點(diǎn)
這篇文章主要為大家介紹了2022發(fā)布ECMAScript新特性盤點(diǎn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07

