最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

smarty中改進(jìn)truncate使其支持中文的方法

 更新時(shí)間:2016年05月30日 09:19:52   作者:keyunq  
這篇文章主要介紹了smarty中改進(jìn)truncate使其支持中文的方法,涉及針對(duì)Smarty源碼中truncate源文件進(jìn)行函數(shù)功能擴(kuò)展的相關(guān)技巧,需要的朋友可以參考下

本文實(shí)例講述了smarty中改進(jìn)truncate使其支持中文的方法。分享給大家供大家參考,具體如下:

smarty的truncate不支持中文的截取。將smarty目錄下plugins中的modifier.truncate.php改成下面這個(gè)樣子就可以了

<?php
/*
* Smarty plugin
* -------------------------------------------------------------
* Type:   modifier
* 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.
* Update:  change substr to msubstr and add fun msubstr.so it
*      can bu used in chinese charset.
* -------------------------------------------------------------
*/
function smarty_modifier_truncate($string, $length = 80, $etc = '...', $break_words = false)
{
  if ($length == 0)
    return '';
  if (strlen($string) > $length) {
    $length -= strlen($etc);
    if (!$break_words)
      $string = preg_replace('//s+?(/S+)?$/', '', SubstrGB($string, 0, $length+1));
    return SubstrGB($string, 0, $length).$etc;
  } else
    return $string;
}
function SubstrGB($str,$start,$len){
  for($i=0;$i<$start+$len;$i++){
    $tmpstr=(ord($str[$i])>=161 && ord($str[$i])<=254&& ord($str[$i+1])>=161 && ord($str[$i+1])<=254)?$str[$i].$str[++$i]:$tmpstr=$str[$i];
    if ($i>=$start&&$i<($start+$len))$tmp .=$tmpstr;
  }
  return $tmp;
}
/* vim: set expandtab: */
?>

更多關(guān)于Smarty相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《smarty模板入門基礎(chǔ)教程》、《PHP模板技術(shù)總結(jié)》、《PHP基于pdo操作數(shù)據(jù)庫技巧總結(jié)》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP基本語法入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總

希望本文所述對(duì)大家基于smarty模板的PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • php加密解密實(shí)用類分享

    php加密解密實(shí)用類分享

    加密和解密是一項(xiàng)常規(guī)任務(wù),這里介紹一個(gè)加解密類。如果你想在用戶忘記密碼時(shí)為他或她找回原來的密碼,那么這個(gè)類是個(gè)好用的工具
    2014-01-01
  • 微信接口生成帶參數(shù)的二維碼

    微信接口生成帶參數(shù)的二維碼

    為了滿足用戶渠道推廣分析的需要,公眾平臺(tái)提供了生成帶參數(shù)二維碼的接口,獲取帶參數(shù)的二維碼的過程包括兩步,具體步驟大家參考下本文
    2017-07-07
  • php-7.3.6 編譯安裝過程

    php-7.3.6 編譯安裝過程

    這篇文章主要介紹了php-7.3.6 編譯安裝過程,本文通過實(shí)例文字相結(jié)合給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • PHP之預(yù)定義接口詳解

    PHP之預(yù)定義接口詳解

    這篇文章主要整理了PHP之預(yù)定義接口,在平時(shí)項(xiàng)目過程中比較常用的四個(gè)接口:IteratorAggregate(聚合式aggregate迭代器Iterator)、Countable、ArrayAccess、Iterator,需要的朋友可以參考下
    2015-07-07
  • PHP網(wǎng)頁安全認(rèn)證的實(shí)例詳解

    PHP網(wǎng)頁安全認(rèn)證的實(shí)例詳解

    這篇文章主要介紹了PHP網(wǎng)頁安全認(rèn)證的實(shí)例詳解的相關(guān)資料,這里提供了兩種實(shí)現(xiàn)方法,一種基于數(shù)據(jù)庫另一種不基于數(shù)據(jù)庫的方法,希望通過本能幫助到大家,需要的朋友可以參考下
    2017-09-09
  • ThinkPHP 連接Oracle數(shù)據(jù)庫的詳細(xì)教程[全]

    ThinkPHP 連接Oracle數(shù)據(jù)庫的詳細(xì)教程[全]

    最近收集了一些關(guān)于THinkPHP連接Oracle數(shù)據(jù)庫的問題,有很多朋友按照連接mysql的方法來操作,導(dǎo)致有一些方法在Oreale中無法正常使用
    2012-07-07
  • PHP 雙鏈表(SplDoublyLinkedList)簡(jiǎn)介和使用實(shí)例

    PHP 雙鏈表(SplDoublyLinkedList)簡(jiǎn)介和使用實(shí)例

    這篇文章主要介紹了PHP 雙鏈表(SplDoublyLinkedList)簡(jiǎn)介和使用實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2015-05-05
  • PHP獲取數(shù)組中指定的一列實(shí)例

    PHP獲取數(shù)組中指定的一列實(shí)例

    下面小編就為大家分享一篇PHP獲取數(shù)組中指定的一列實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • 使用symfony命令創(chuàng)建項(xiàng)目的方法

    使用symfony命令創(chuàng)建項(xiàng)目的方法

    這篇文章主要介紹了使用symfony命令創(chuàng)建項(xiàng)目的方法,結(jié)合實(shí)例形式分析了Symfony命令的使用方法與項(xiàng)目創(chuàng)建的相關(guān)技巧,需要的朋友可以參考下
    2016-03-03
  • Linux平臺(tái)中使用PHP把word轉(zhuǎn)pdf的實(shí)現(xiàn)方法

    Linux平臺(tái)中使用PHP把word轉(zhuǎn)pdf的實(shí)現(xiàn)方法

    下面小編就為大家?guī)硪黄狶inux平臺(tái)中使用PHP把word轉(zhuǎn)pdf的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11

最新評(píng)論

尤溪县| 蒙山县| 新营市| 黔江区| 财经| 台东市| 佛教| 阿合奇县| 平远县| 湄潭县| 永寿县| 横山县| 河北区| 府谷县| 望城县| 淳安县| 新营市| 双牌县| 运城市| 宁陕县| 砀山县| 神木县| 郯城县| 虎林市| 乡城县| 绍兴县| 卓尼县| 衡阳县| 阿克陶县| 垦利县| 潞城市| 简阳市| 建德市| 札达县| 景德镇市| 隆化县| 洪湖市| 康乐县| 沈丘县| 巫溪县| 桑日县|