前段用thinkphp写了一个系统,感觉thinkphp学起来比较容易,开发起来了比较顺手,其中一个关键的因素就是它的模版引擎相当强大,使用方法跟smarty类似,在模版中还可以用php代码,有模版包含.继承的等很多好的功能…… 但是我发现thinkphp在模版函数中,没有中文字符串的截取函数,有个substr可以截取,但是不是基于中文的,当使用utf8编码的时候,由于3个字符代表一个中文,如果想截取的内容混杂中文/数字/英文字符串的时候就会出问题,最后一个字符很有可能混乱,这个问题很头大.于是…
TP5模板页截取中文字符串 {$vo.task_detail|mb_substr=###,0,15,'utf-8'}…
注意:自定义函数要放在项目应用目录/common/common.php中. 这里是关键. 模板变量的函数调用格式:{$varname|function1|function2=arg1,arg2,### } 说明: { 和 $ 符号之间不能有空格,后面参数的空格就没有问题: ###表示模板变量本身的参数位置 : 支持多个函数,函数之间支持空格 : 支持函数屏蔽功能,在配置文件中可以配置禁止使用的函数列表 : 支持变量缓存功能,重复变量字串不多次解析. 使用例子: {$webTitle|md5|st…
1.number_format {$number|number_format=2}   千分位,保留两位小数 2.round {$number|round=2}   四舍五入保留两位小数…
1.Thinkphp 模板中直接对数据处理:{$data.name|substr=0,3} 2.中文字符串截取函数:mb_substr=0,14,'utf-8' 3.中文字符串统计:iconv_strlen(字符串,"UTF-8") <div style="margin-bottom: 8px;"> <a href="#" target="_blank" class="my_a" >…
好几天没写博客了,其实有好多需要总结的,因为最近一直在忙着做项目,但是困惑了几天的Smarty模板中截取包含中英文混合的字符串乱码的问题,终于解决了,所以记录下来,需要的朋友看一下: 出现乱码的原因: 对于字符串的截取,truncate函数只适合英文用户,对与中文用户来说,使用 truncate会出现乱码,而且对于中文英文混合串来说,截取同样个数的字符串,实际显示长度上却不同,一个中文的长度大致相当于两个英文的长度.此外,truncate不能同时兼容GB2312.UTF-8等编码. 解决方法:自…
在PHP中,我们都知道有专门的mb_substr和mb_strlen函数,可以对中文进行截取和计算长度,但是,由于这些函数并非PHP的核心函数,所以,它们常常有可能没有开启.当然,如果是用的自己的服务器,则只要在php.ini中开启即可.如果是用的虚拟主机,而服务器又没有开启这方面的函数的话,那就需要我们自己写出点适合咱自己的函数来了. 以下几个函数用起来颇为顺手的.不过要知道,得在utf-8环境下使用. header('Content-type:text/html;charset=utf-8'…
在做PHP开发的时候,由于我国的语言环境问题,所以我们常常需要对中文进行处理.在PHP中,我们都知道有专门的mb_substr和mb_strlen函数,可以对中文进行截取和计算长度,但是,由于这些函数并非PHP的核心函数,所以,它们常常有可能没有开启.当然,如果是用的自己的服务器,则只要在php.ini中开启即可.如果是用的虚拟主机,而服务器又没有开启这方面的函数的话,那就需要我们自己写出点适合咱国情的函数来了. 以下几个函数用起来颇为顺手的.不过要知道,得在utf-8环境下使用. header…
今天学习了php函数截取中文字符串,英文字符串,中英文字符串的函数使用方法.对中英文截取方法不理解,此处先做记录. PHP自带的函数如strlen().mb_strlen()都是通过计算字符串所占字节数来统计字符串长度的,一个英文字符占1字节.例: $enStr = ‘Hello,China!’;echo strlen($enStr); // 输出:12 而中文则不然,做中文网站一般会选择两种编码:gbk/gb2312或是utf-8.utf-8能兼容更多的字符,所以受到很多站长的喜爱.gbk与u…
PHP截取中文字符串不出现?号的解决方法[原创] 大 | 中 | 小 [不指定 -- : | by 张宴 ] [文章作者:张宴 本文版本:v1. 最后修改: 转载请注明出处:http://blog.zyan.cc] 当PHP截取中英文混合字符串时,最后一个汉字经常被拆成两半,例:截取字符串的前18个字 view plainprint? <?php $text = "1欢迎访问sina新浪播客"; $value = substr($text, , ); echo $value.&q…
<?php @header('Content-type: text/html; charset=UTF-8'); $arr = "sa撒的发dfa多少sfd看sdf得12上24飞452机.@$#^辣^&%椒粉b"; /****************************************************************** * 程序一:PHP截取中文字符串方法 * 截取中文字符串时出现乱码 ****************************…
在smarty模板中截取指定长度的字符串,可使用truncate这个插件. 用法: {{$data.value|truncate:28:'...'}} 28个字节14个字数输出,多余部分输出...,一个汉字算两个.…
/** * 截取中文字符串函数 * @param $str 需要截取的字串 * @param $start 开始截取的位置 * @param $length 截取的长度 * @return 此函数返回的是一个数组,因此要配合join函数来显示字符串:join('',subString_UTF8($str, $start, $lenth)); */ public function subString_UTF8($str, $start, $lenth){ $len = strlen($str);…
这里的输出的长度是6,那么一个汉字的字符长度就是3咯,可是老师演示的一个字符的长度却是2,百思不得其解. 查了一下资料发现,这个问题的答案与系统所采用的字符编码方式有关: 1. utf-8 如果系统采用的是utf-8,那么strlen(“新闻”)=6,即一个汉字占用3个字节.linux系统默认情况下采用的该种编码方式. 2. gb2312 如果系统采用的是gb2312,则strlen(“新闻”)=4,即一个汉字占用2个字节.windows中文版采用的该种编码方式. 汉字编码:GB_2312 字符…
转 截取字符串专题: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…
从控制器方法中$this->assign();函数将值传递给html模板 但是模板不显示数据,直接出来的是代码,效果就和html中写了php代码不能解析一样. 原来是我将thinkphp框架的引擎和smarty模板引擎的使用方法混了.写成了 查手册知道了thinkphp模板中foreach的使用方法,这才恍然大悟…
在项目开发的时候,有时候希望直接在模板中调用 一些自定义方法,或者内置方法来,处理获得一些数据,并且赋值给一个变量给后面调用,这个时候如果用原生Php 的方式调用如下:<?php $abc = myfun();?>  这样就可以调用并赋值给一个$abc的变量了,但是如果在是使用thinkphp的模板标签来写模板 出现这样原生的php 调用方式很容易让模板变得混乱所以,我们如果是使用thinkphp的模板标签方式来写模板,那么就尽量保持使用 thinkphp的标签方式来调用.从官方文档知道 模板…
原文:thinkPHP 模板中的语法知识 详细介绍(十二) 本章节:介绍模板中的语法,详细的语法介绍 一.导入CSS和JS文件    ==>记住常量的是大写 1.css link .js  scr <link rel='stylesheet' type='text/css' href='__PUBLIC__/Css/test.css'/> <script src='__PUBLIC__/Js/test.js'></script> 2.import(==默认是在Pu…
php自定义截取中文字符串-utf8版 UTF-8的编码范围(utf-8使用1-6个字节编码字符,实际上只使用了1-4字节): 1个字节:00——7F 2个字节:C080——DFBF 3个字符:E08080——EFBFBF 4个字符:F0808080——F7BFBFBF $str = 'abcd我是中国人'; echo strlen($str), '<br/>'; echo mstrlen($str), '<br/>'; echo msubstr($str, 3, 9); /**…
IDA pro 6.8设置显示中文字符串的方法 M4x原创,转载请表明出处http://www.cnblogs.com/WangAoBo/p/7636335.html IDA是一款强大无比的反编译软件,但对中文的支持一直都差了一些,这篇博文记录一下设置strings window和F5后的伪代码显示中文的方法 分两步进行 找到IDA安装路径下的cfg\ida.cfg文件,记事本打开,将ida.cfg中cpp866 version的AsciiStringChars注释掉,把full version…
#获取中文长度mb_strlen($str,$encoding); #截取中文字符串 mb_substr(str,start,length,encoding);…
原文:ListBox项模板中绑定ListBoxItem属性的方法 <ListBox> <ListBox.ItemTemplate> <DataTemplate> <Grid Width="225" Height="126" FocusVisualStyle="{x:Null}"> <TextBlock x:Name="sortIndex" FontFamily="…
UTF-8截取中文字符串 function Cn_Substr($string, $length) { preg_match_all("/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/&q…
用PHP substr() 函数截取中文字符串乱码,换PHPmb_substr() 函数即可…
从python3.6开始,引入了新的字符串格式化方式,f-字符串. 这使得格式化字符串变得可读性更高,更简洁,更不容易出现错误而且速度也更快. 在本文后面,会详细介绍f-字符串的用法. 在此之前,让我们先来复习一下python中字符串格式化的方法. python中传统的字符串格式化方法. 在python3.6之前,我们有两种方式可以用来格式化字符串. 占位符+%的方式 str.format()方法 首先复习一下这两种方式的使用方法以及其短板. 占位符+%的方式 这种方式算是第0代字符串格式化的方…
本文示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 在日常开展数据分析的过程中,我们经常需要对字符串类型数据进行处理,此类过程往往都比较繁琐,而pandas作为表格数据分析利器,其内置的基于Series.str访问器的诸多针对字符串进行处理的方法,以及一些top-level级的内置函数,则可以帮助我们大大提升字符串型数据处理的效率. 本文我就将带大家学习pandas中常用的一些高效字符串处理…
利用php内置方法mb_substr截取中文不乱码,使用起来非常简单 <?php $str = '我喜欢laravel or yii2'; echo mb_substr($str, 0, 1, 'utf8'); //输出 我 exit; mb_substr方法比substr多一个参数,用来指定字符串编码.utf-8编码截取示例 $str = '我like laravel or yii2'; echo mb_substr($str, 0, 2, 'utf8'); //输出 我I 中英混合也完全没有…
1.php中的方法使用 <?php $var_num = "13966778888"; $str = substr_replace($var_num,'*****',3,5); echo $str; $var_date = time(); $str = date("Y-m-d H:i",$var_date); echo $str; ?> 2.模板中的使用 {sh:$member.tel|substr_replace="*****",3…
一.变量       1.变量的形式是:{{variable}}, 当模板引擎碰到变量的时候,引擎使用变量的值代替变量.    2.使用dot(.)能够访问变量的属性    3.当模板引擎碰到dot的时候,查找的顺序是什么样子呢?        a.字典查找,例如:foo["var1"]        b.属性查找,例如:foo.bar        c.方法查找,例如:foo.bar()        d.list-index查找,例如foo[bar] 注意:方法查找比一般的查找要复…
在网站应用中时常需要对相应的字符串进行截取.最常用的是使用substr函数对字符串进行截取. 然而,substr和strlen函数只在处理英文字符串时可以正确使用,在截取中文字符时,时常出现乱码.这时,可以使用mb_substr和mb_strlen函数.后者与前者用法相似,区别在于后者需要在使用过程中添加一个参数. 以mb_substr为例: string mb_substr ( string $str , int $start [, int $length [, string $encodin…