php,js,css字符串截取的办法集锦


Posted in Javascript onSeptember 26, 2014

可能没什么含量,求少拍砖。
首先是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;

    }

[copy]参考资料:
http://quirksmode.org/css/user-interface/textoverflow.html
https://developer.mozilla.org/en-US/docs/Web/CSS/text-overflow

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

Javascript 相关文章推荐
基于jquery的横向滚动条(滑动条)
Feb 24 Javascript
jQuery布局插件UI Layout简介及使用方法
Apr 03 Javascript
调用DOM对象的focus使文本框获得焦点
Feb 19 Javascript
详解JS正则replace的使用方法
Mar 06 Javascript
jquery对象和DOM对象的相互转换详解
Oct 18 Javascript
基于JavaScript实现自动更新倒计时效果
Dec 19 Javascript
html+javascript+bootstrap实现层级多选框全层全选和多选功能
Mar 09 Javascript
jQuery中animate()的使用方法及解决$(”body“).animate({“scrollTop”:top})不被Firefox支持的问题
Apr 04 jQuery
微信小程序开发之实现自定义Toast弹框
Jun 08 Javascript
js实现日期显示的一些操作(实例讲解)
Jul 27 Javascript
原生javascript运动函数的封装示例【匀速、抛物线、多属性的运动等】
Feb 23 Javascript
Js on及addEventListener原理用法区别解析
Jul 11 Javascript
javascript中字符串拼接详解
Sep 26 #Javascript
JavaScript拆分字符串时产生空字符的解决方案
Sep 26 #Javascript
JavaScript实现在数组中查找不同顺序排列的字符串
Sep 26 #Javascript
前端轻量级MVC框架CanJS详解
Sep 26 #Javascript
alert出数组中的随即值代码
Sep 25 #Javascript
jquery得到iframe src属性值的方法
Sep 25 #Javascript
jquery获得同源iframe内body下标签的值的方法
Sep 25 #Javascript
You might like
php将会员数据导入到ucenter的代码
2010/07/18 PHP
windows下zendframework项目环境搭建(通过命令行配置)
2012/12/06 PHP
php中mysql连接和基本操作代码(快速测试使用,简单方便)
2014/04/25 PHP
php程序总是提示验证码输入有误解决方案
2015/01/07 PHP
PHP生成加减算法方式的验证码实例
2018/03/12 PHP
Webkit的跨域安全问题说明
2011/09/13 Javascript
firefox下input type=&quot;file&quot;的size是多大
2011/10/24 Javascript
基于MVC3方式实现下拉列表联动(JQuery)
2013/09/02 Javascript
css+js实现部分区域高亮可编辑遮罩层
2014/03/04 Javascript
jQuery Ajax中的事件详细介绍
2015/04/16 Javascript
Javascript实现计算个人所得税
2015/05/10 Javascript
Nodejs中的this详解
2016/03/26 NodeJs
jQuery新窗口打开外链接
2016/07/21 Javascript
基于javascript实现按圆形排列DIV元素(三)
2016/12/02 Javascript
利用canvas中toDataURL()将图片转为dataURL(base64)的方法详解
2017/11/20 Javascript
vue.js 实现点击展开收起动画效果
2018/07/07 Javascript
解决Vue2.0 watch对象属性变化监听不到的问题
2018/09/11 Javascript
详解如何提升JSON.stringify()的性能
2019/06/12 Javascript
浅谈监听单选框radio改变事件(和layui中单选按钮改变事件)
2019/09/10 Javascript
使用layer.msg 时间设置不起作用的解决方法
2019/09/12 Javascript
jQuery实现简单弹幕制作
2020/12/10 jQuery
用python实现的可以拷贝或剪切一个文件列表中的所有文件
2009/04/30 Python
Python跳出循环语句continue与break的区别
2014/08/25 Python
python多线程编程中的join函数使用心得
2014/09/02 Python
python以环状形式组合排列图片并输出的方法
2015/03/17 Python
python模块之paramiko实例代码
2018/01/31 Python
python scp 批量同步文件的实现方法
2019/01/03 Python
pycharm新建一个python工程步骤
2019/07/16 Python
详解python的super()的作用和原理
2020/10/29 Python
便利店投资的创业计划书
2014/01/12 职场文书
超市开学活动方案
2014/03/01 职场文书
《泉水》教学反思
2014/04/11 职场文书
无房证明范本
2014/09/17 职场文书
本科毕业论文致谢怎么写
2015/05/14 职场文书
安全教育培训心得体会
2016/01/15 职场文书
2019员工保密协议书(3篇)
2019/09/23 职场文书