国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > PHP > 正文

php smarty truncate UTF8亂碼問(wèn)題解決辦法

2020-03-24 16:08:14
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
估計(jì)不少玩smarty模板的小朋友都遇到過(guò)裁切亂碼問(wèn)題。特別是UTF8編碼的。以下代碼保存為modifier.truncate2.php 存到smarty libs下的plugin目錄下然后裁剪的時(shí)候用$v- content|truncate2:100就搞定了。如果不好用可能是緩存導(dǎo)致,請(qǐng)速度刪除templates_c下的緩存文件(小編搞的時(shí)候遇到緩存問(wèn)題。)
復(fù)制代碼 代碼如下:
?php
/**
* Smarty plugin
* @package Smarty
* @subpackage plugins
*/


/**
* Smarty truncate modifier plugin
*
* Type: modifier br
* Name: truncate br
* 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 http://smarty.php.net/manual/en/language.modifier.truncate.php
* truncate (Smarty online manual)
* @author Monte Ohrt monte at ohrt dot com
* @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('00000000'.$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的插件體系還是比較智能而且容易修改的。PHP教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 鹤庆县| 绥中县| 崇礼县| 德格县| 滦平县| 铜梁县| 拜泉县| 芦山县| 精河县| 龙胜| 霍林郭勒市| 沂南县| 上蔡县| 枣阳市| 西昌市| 兰坪| 温泉县| 清丰县| 苍山县| 樟树市| 太仓市| 同江市| 延吉市| 平罗县| 哈尔滨市| 伊宁市| 肇东市| 巩义市| 尼勒克县| 阿图什市| 清徐县| 兰西县| 麻城市| 晋宁县| 乌拉特中旗| 莲花县| 吉木乃县| 稻城县| 左云县| 忻城县| 武清区|