<script> function subString(str, len, hasDot) { var newLength = 0; var newStr = ""; var chineseRegex = /[^\x00-\xff]/g; var singleChar = ""; var strLength = str.replace(chineseRegex,"**").length; for(var i = 0;i < st…
今天面试,有一道题,要求截取中文字符无乱码. 当时因为要赶去另一家去面试,没有仔细分析. 虽然现在供职的这家公司b2c项目正在用,因为当时赶项目,是网上拿来直接用的. 回来以后再重新整理了一下. 代码贴出来: <?php header("Content-Type:text/html; charset=utf-8"); function utf8_substr($str,$len){ for($i=0;$i<$len;$i++){ $temp_str=substr($str,…
smarty中用truncate来截取含有中英文的字符串,可能会出现中文乱码问题.字符串截取长度不一问题,下面是新建个扩展函数,或修改原Truncate函数方法也可以的.扩展smarty/plugins目录下自己新建一个文件,写个函数,修改后的smartTruncate: 文件名:modifier.smartTruncate.php  内容如下: <?php function smarty_modifier_smartTruncate($string, $length = 80, $etc =…
有时在显示某段文字的时候,可能会太长,影响我们页面的显示效果.如果仅是英文,那么我们可以用String.substring(start, end)函数就已经够用了.但是通常我们都会遇到既有英文,又有汉字的情况.而汉字是占用2个字节的,如果用String.substring(start, end)截取字符串的话,会发现汉字截取后比英文截取后个数虽然相同,但是长度还是长出去不少(具体要视字符个数来决定). 下面是一个实现这个功能的函数: <script language="javascript…
//如果字符串长度超过10,则截取并以省略号结尾 function sub($str){ $str=(string)$str; if( mb_strlen($str,'utf-8') >10){ return mb_substr($str,0,10,'utf-8').'...'; }else{ return $str; } }…
//获取字符串长度String.prototype.strLen = function() { var len = 0; for (var i = 0; i < this.length; i++) { if (this.charCodeAt(i) ) len += 2; else len ++; } return len; } //将字符串拆成字符,并存到数组中 String.prototype.strToChars = function(){ var chars = new Array();…
在我们学习PHP知识的过程中,PHP截取字符串应该是一个非常常见的字符串基础操作了,想必大家都比较熟悉这方面知识点. 但是有些新手朋友们可能遇到过,当截取中英文字符串时出现乱码的情况,其实这个也是非常容易解决的. 首先我们要了解关于中英文占多少字节的问题. ASCII码:一个中文汉字占两个字节的空间. UTF-8编码:一个中文(含繁体)等于三个字节. Unicode编码:一个中文(含繁体)等于两个字节. 下面我们就通过几个简单的代码示例为大家详细介绍关于PHP截取中英字符串且无乱码的相关知识.…
在PHP开发中会经常用到字符串截取,有的时候字符串截取会出现乱码的情况,那么怎么解决这个问题呢,其实也很容易 首先我们要了解关于中英文占多少字节的问题. ASCII码:一个中文汉字占两个字节的空间. UTF-8编码:一个中文(含繁体)等于三个字节. Unicode编码:一个中文(含繁体)等于两个字节. 下面我们就通过几个简单的代码示例为大家详细介绍关于PHP截取中英字符串且无乱码的相关知识. 一. substr() 截取字符串<?php ehco substr('PHP中文网', 0, 5);…
<?php //////////////////////////////////////////////////////////////////// // PHP截取中英文及标点符号混合的字符串函数(绝对不会出现乱码) // 本程序在utf-8.gb2312中测试通过.使用者自行测试big5. // 函数 left( 源字符串, 截取指定的字符串个数, 编码(可省略,默认为utf-8) ) /////////////////////////////////////////////////////…
转 截取字符串专题:php截取字符串函数,php 字符串长度,php截取字符串前几位 PHP截取中文字符串(mb_substr)和获取中文 => http://www.q3060.com/list3/list117/22126.html php 截取字符串第一个字符和最后一个字符 => http://www.q3060.com/list3/list117/22118.html php正则截取字符串 => http://www.q3060.com/list3/list117/22112.h…
<?php @header('Content-type: text/html; charset=UTF-8'); $arr = "sa撒的发dfa多少sfd看sdf得12上24飞452机.@$#^辣^&%椒粉b"; /****************************************************************** * 程序一:PHP截取中文字符串方法 * 截取中文字符串时出现乱码 ****************************…
/** * * 中英混合字符串长度判断 * @param unknown_type $str * @param unknown_type $charset */ function strLength($str, $charset = 'utf-8') { if ($charset == 'utf-8'){ $str = iconv('utf-8', 'gb2312', $str); } $num = strlen($str); $cnNum = 0; for ($i = 0; $i < $num…
符合UTF-8下,如果GBK下  改为  $content .= $str[$sing].$str[$sing+1];        $sing += 3; 改为 $sing += 2; /**   * 中英文截取   * @param string    要截取的字符串   * @param string    要截取的长度(超过总长度 按总长度计算)   * @param [string]  (可选)开始位置(第一个为0)   * @return string   * @author 蛋  …
转载:http://blog.sina.com.cn/s/blog_694c144f010179wj.html 真正好用的PHP截取中文无乱码函数——cutstr (2012-07-09 11:17:34)   最近给公司做项目,多多少少也积累了一些经验,发现了一个真正好用的PHP截取中文无乱码的函数,这就是discuz的include目录中的global.func.php文件中自带的function cutstr函数.cutstr函数的完整代码如下:function cutstr($strin…
直接使用PHP函数substr截取中文字符可能会出现乱码,主要是substr可能硬生生的将一个中文字符“锯”成两半.解决办法: 1.使用mbstring扩展库的mb_substr截取就不会出现乱码了. 2.自己书写截取函数,但效率不如用mbstring扩展库来得高. 3.如果仅是为了输出截取的串,可用如下方式实现:substr($str, 0, 30).chr(0). ============================= substr()函数可以分割文字,但要分割的文字如果包括中文字符往往…
直接使用PHP函数substr截取中文字符可能会出现乱码,主要是substr可能硬生生的将一个中文字符“锯”成两半.解决办法: 1.使用mbstring扩展库的mb_substr截取就不会出现乱码了. 2.自己书写截取函数,但效率不如用mbstring扩展库来得高. 3.如果仅是为了输出截取的串,可用如下方式实现:substr($str, 0, 30).chr(0). ============================= substr()函数可以分割文字,但要分割的文字如果包括中文字符往往…
字符串的处理是编程中比较常见的,各种编程语言对字符串的处理也提供了大量函数,像php中mb_substr()函数可以实现对中文字符串的截取,如何使用自定义方法实现中文字符串截取无乱码这也是面试经常遇到的一道题目,不要觉得这是多此一举,php内置函数已经实现了,为什么要自己实现.其实这道题的真实目的是考查你对字符编码的理解.最起码你要知道从哪里开始截取,截取几个字节才是一个完整的字符,不然截取到的都是乱码.这就需要你对多字节字符编码有一定的了解.下面一起来实现吧. <?php /** * 中文截取…
JS截取字符串substr 和 substring方法的区别 substr方法 返回一个从指定位置开始的指定长度的子字符串. stringvar.substr(start [, length ]) 参数 stringvar 必选项.要提取子字符串的字符串文字或 String 对象. start 必选项.所需的子字符串的起始位置.字符串中的第一个字符的索引为 0. length 可选项.在返回的子字符串中应包括的字符个数. 说明 如果 length 为 0 或负数,将返回一个空字符串.如果没有指定…
最近需要用到按字节数截取字符串.在网上找了很多方法. Encoding.Default.GetString采用的DefaultEncoding.UTF8.GetBytes采用的是utf-8编码.这样当然是乱码.尤其出现中文时候.对这类数据处理当然要用统一的编码来处理. 例子:1 string msg= Encoding.UTF8.GetString(Encoding.UTF8.GetBytes(strcode)); 例子:2string strcode="我是小明";byte[] bu…
如果截取字符串前几位,多余的用...表示该怎样做呢? JS代码 /** * js截取字符串,中英文都能用 * @param str:需要截取的字符串 * @param len: 需要截取的长度 */ function cutstr(str, len) { var str_length = 0; var str_len = 0; str_cut = new String(); str_len = str.length; for (var i = 0; i < str_len; i++) { a =…
// JS截取字符串可使用 substring()或者slice() // // 函数:substring() // 定义:substring(start,end)表示从start到end之间的字符串,包括start位置的字符但是不包括end位置的字符. // 功能:字符串截取,比如想从"MinidxSearchEngine"中得到"Minidx"就要用到substring(0,6) // 例子: var src="images/off_1.png&quo…
[本文转自独占神林的日志:链接:http://yuninglovekefan.blog.sohu.com/176021361.html] 在PHP中,substr()函数截取带有中文字符串的话,可能会出现乱码,这是因为中西文一个字节所占有的字节数不一样,而substr的长度参数是按照字节去算的,在GB2312编码时,一个中文占2个字节,英文为1个字节,而在UTF-8编码当中,一个中文可能占有2个或3个字节,英文或半角标点占1字节. 直接使用PHP函数substr截取中文字符可能会出现乱码,主要是…
在显示字符串的时候,避免字符串过长往往会对字符串进行截取操作,通常会用到js的 substr 或者 substring方法, 以及 字符串的length属性 substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符. substring() 方法用于提取字符串中介于两个指定下标之间的字符. 对于非中文的字符串处理是很简单的,但是中文字符的 length  属性值 是1  而不是 2 ,所以处理就不是很友好了.    例如  你有一个字符串   'abcdefg' 和   '…
本文实例讲述了JS截取与分割字符串的常用方法.分享给大家供大家参考,具体如下: JS截取字符串可使用 substring()或者slice() 函数:substring() 定义:substring(start,end)表示从start到end之间的字符串,包括start位置的字符但是不包括end位置的字符. 功能:字符串截取,比如想从"MinidxSearchEngine"中得到"Minidx"就要用到substring(0,6) 例子: ? 1 2 3 var…
一.JS中用正则判断字符串是否有匹配正则的字符串部分,格式如下: /[a-zA-Z](.*?)[a-zA-Z]/.test('1a123d45678901a2') “.test”前面的部分是正则表达式,后边的部分是要判断的字符串. 二.JS中用正则截取字符串中匹配正则的字符串部分,格式如下: ('1a123d45678901a2').match(/[a-zA-Z](.*?)[a-zA-Z]/)[1] “.match”前面是要截取的字符串,后边是表达式,本例截取后会生成有两个元素的字符串数组,第一…
PHP用substr截取字符串出现中文乱码问题用mb_substr实例:mb_substr('截取中文乱码问题测试',0,5, 'utf-8'); 语法 : string substr (string string, int start [, int length])$rest = substr ("abcdef", 1); // returns "bcdef"$rest = substr ("abcdef", 1, 3); // returns…
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>Js 时间与字符串转示例</title> <script type="tex…
js截取字符串并且区分汉字字母,一个汉字辨别为两个字节. function substr(str, len) { if (!str || !len) { return ''; } // 预期计数:中文2字节,英文1字节 var a = 0; // 循环计数 var i = 0; // 临时字串 var temp = ''; for (i = 0; i < str.length; i++) { if (str.charCodeAt(i) > 255) { // 按照预期计数增加2 a += 2;…
今天学习了php函数截取中文字符串,英文字符串,中英文字符串的函数使用方法.对中英文截取方法不理解,此处先做记录. PHP自带的函数如strlen().mb_strlen()都是通过计算字符串所占字节数来统计字符串长度的,一个英文字符占1字节.例: $enStr = ‘Hello,China!’;echo strlen($enStr); // 输出:12 而中文则不然,做中文网站一般会选择两种编码:gbk/gb2312或是utf-8.utf-8能兼容更多的字符,所以受到很多站长的喜爱.gbk与u…
js查找元素.js查找字符串 let index=data.indexOf(","); js截取.js截取字符串 $("#bankurl_id").val(data.substring(0,index)); $("#bankname").val(data.substring(index+1));…