700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > php smarty truncate UTF8乱码问题解决办法【PHP】

php smarty truncate UTF8乱码问题解决办法【PHP】

时间:2022-01-15 16:00:24

相关推荐

php smarty truncate UTF8乱码问题解决办法【PHP】

后端开发|php教程

php,smarty,truncate乱码

后端开发-php教程

估计不少玩smarty模板的小朋友都遇到过裁切乱码问题。特别是UTF8编码的。

以下代码保存为modifier.truncate2.php 存到smarty libs下的plugin目录下

然后裁剪的时候用$v->content|truncate2:100

就搞定了。

如果不好用可能是缓存导致,请速度删除templates_c下的缓存文件(小编搞的时候遇到缓存问题。)

jsp简单网页源码下载,ubuntu怎么查看存储,爬虫视频数据,药房php源码,seo设置 功能lzw

<?php

/**

* Smarty plugin

* @package Smarty

* @subpackage plugins

*/

仿门户网站源码,vscode官方下载安装包,ubuntu挂起黑屏,深入剖析tomcat买不到,爬虫保存excel,php json转csv,网站seo诊断及解决方案lzw

/**

* Smarty truncate modifier plugin

*

* Type:modifier

网易博客源码,Mac版VScode注册码,ubuntu安全删除,tomcat下css失效,网站爬虫价格,php读取上传文件内容,为什么老板一定要seo,收费网站代码lzw

* Name:truncate

* Purpose: Truncate a string to a certain length if necessary,

* optionally splitting in the middle of a word, and

* appending the $etc string or inserting $etc into the middle.

* @link /manual/en/language.modifier.truncate.php

*truncate (Smarty online manual)

* @author Monte Ohrt

* @param string

* @param integer

* @param string

* @param boolean

* @param boolean

* @return string

*/

function smarty_modifier_truncate2( $string,$length = 80,$etc=...,$count_words = true ) {

return $returnstr =substr_utf8($string, 0, $length).$etc;

}

function substr_utf8($str, $start=0, $length=-1, $return_ary=false) {

$len = strlen($str);if ($length == -1) $length = $len;

$r = array();

$n = 0;

$m = 0;

for($i = 0; $i < $len; $i++) {

$x = substr($str, $i, 1);

$a = base_convert(ord($x), 10, 2);

$a = substr(0000000.$a, -8);

if ($n < $start) {

if (substr($a, 0, 1) == 0) {

}elseif (substr($a, 0, 3) == 110) {

$i += 1;

}elseif (substr($a, 0, 4) == 1110) {

$i += 2;

}

$n++;

}else {

if (substr($a, 0, 1) == 0) {

$r[] = substr($str, $i, 1);

}elseif (substr($a, 0, 3) == 110) {

$r[] = substr($str, $i, 2);

$i += 1;

}elseif (substr($a, 0, 4) == 1110) {

$r[] = substr($str, $i, 3);

$i += 2;

}else {

$r[] = \;

}

if (++$m >= $length) {

break;

}

}

}

return $return_ary ? $r : implode("",$r);

}

/* vim: set expandtab: */

?>

samrty的插件体系还是比较智能而且容易修改的。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。