ホームページ > php教程 > php手册 > phpのsmarty機能拡張

phpのsmarty機能拡張

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-13 12:17:57
オリジナル
1050 人が閲覧しました

中文截取 modifier.cn_truncate.php

复制代代码如下:


function Smarty_modifier_cn_truncate($string , $strlen = 20, $etc = '...',
$keep_first_style = false)
{
$strlen = $strlen*2;
$string = トリム($string);
if ( strlen($string) return $string;
}
$str = ストリップタグ($string);
$j = 0;
for($i=0;$iif(ord(substr($str,$i,1))>0xa0) $j ;
}
if($j%2!=0) $strlen ;
$rstr=substr($str,0,$strlen);
if (strlen($str)>$strlen ) {$rstr .= $etc;}
if ( $keep_first_style == true && ereg('^<(.*)>$', $string) ) {
if ( strlen($str) return $string;
}
$start_pos = strpos($string,substr($str,0,4));
$end_pos = strpos($string,substr($str,-4));
$end_pos = $end_pos 4;
$rstr = substr($string,0,$start_pos) 。 $rstr 。 substr($string,$end_pos,strlen($string));
}
return $rstr;
}


modifier.ubb.php

复制代码代码如下:


functionsmarty_modifier_ubb($str) {
$ubbs['quote'][0] = '/[quote](.*?)[/quote]/s ';
$ubbs['quote'][1] = '

引用:
1
';
$ubbs['b'][0] = '/[b](.*?)[/b]/s';
$ubbs['b'][1] = '1';
$ubbs['i'][0] = '/[i](.*?)[/i]/s';
$ubbs['i'][1] = '1';
$ubbs['u'][0] = '/[u](.*?)[/u]/s';
$ubbs['u'][1] = '1';
$ubbs['li'][0] = '/[li](.*?)[/li]/s';
$ubbs['li'][1] = '
  • 1
  • ';
    $ubbs['img'][0] = '/[img](.*?)[/img]/s';
    $ubbs['img'][1] = '';
    $ubbs['img2'][0] = '/[img=([^,] ),([^]] )](.*?)[/img]/s';
    $ubbs['img2'][1] = '';
    $ubbs['url'][0] = '/[url](.*?)[/url]/s';
    $ubbs['url'][1] = '1';
    $ubbs['url2'][0] = '/[url=([^]] )](.*?)[/url]/s';
    $ubbs['url2'][1] = '2';
    $ubbs['email'][0] = '/[email=([^]] )](.*?)[/email]/s';
    $ubbs['email'][1] = '2';
    $ubbs['qq'][0] = '/[qq]([0-9]{5,10})[/qq]/s';
    $ubbs['qq'][1] = '点击这里给我発信消息';
    $ubbs['color'][0] = '/[color=([^]] )](.*?)[/color]/s';
    $ubbs['color'][1] = '2';
    $ubbs['font'][0] = '/[font=([^]] )](.*?)[/font]/s';
    $ubbs['font'][1] = '2';
    $ubbs['size'][0] = '/[size=([0-9] )](.*?)[/size]/s';
    $ubbs['size'][1] = '2';
    $ubbs['sizept'][0] = '/[size=([0-9,pt] )](.*?)[/size]/s';
    $ubbs['sizept'][1] = '2';
    $ubbs['align'][0] = '/[align=([^]] )](.*?)[/align]/s';
    $ubbs['align'][1] = '
    2';
    $ubbs['media'][0] = '/[メディア](.*?)[/メディア]/s';
    $ubbs['media'][1] = '';
    $ubbs['list'][0] = '/[リスト](.*?)[/リスト]/s';
    $ubbs['list'][1] = '
      1
    ';
    $ubbs['list2'][0] = '/[list=([0-9] )](.*?)[/list]/s';
    $ubbs['list2'][1] = '
      2
    ';
    $ubbs['indent'][0] = '/[インデント](.*?)[/インデント]/s';
    $ubbs['indent'][1] = '
    1';
    $ubbs['table'][0] = '/[table([=,0-9,%]*)](.*?)[/table]/s';
    $ubbs['table'][1] = '2';
    $ubbs['tr'][0] = '/[tr](.*?)[/tr]/s';
    $ubbs['tr'][1] = '

    1';
    $ubbs['td'][0] = '/[td](.*?)[/td]/s';
    $ubbs['td'][1] = '
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    最新の問題
    PHP 拡張子 intl
    から 1970-01-01 08:00:00
    0
    0
    0
    phpのデータ取得?
    から 1970-01-01 08:00:00
    0
    0
    0
    PHP GET エラー レポート
    から 1970-01-01 08:00:00
    0
    0
    0
    phpを上手に学ぶ方法
    から 1970-01-01 08:00:00
    0
    0
    0
    人気のおすすめ
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート
     1';
    $ubbs['td2'][0] = '/[td([^(]|[)] )](.*?)[/td]/s';
    $ubbs['td2'][1] = '
     2';
    $str = str_replace('[*]','
  • ',$str);
    foreach ($ubbs as $ubb){
    $str = ubb_replace($ubb[0],$ubb[1],$str);
    }
    return $str;
    }
    function ubb_replace($pattern,$replacement,$str){
    do {
    $str_ret = $str;
    $str = preg_replace($pattern,$replacement,$str);
    }while($$str);
    $str_ret を返す;
    }
    ?>

    编б modifier.unescape.php

    复制代码代码如下:


    関数 Smarty_modifier_unescape($str)
    {
    $str = rawurldecode($str);
    preg_match_all("/(?:%u.{4})|[^%] /",$str,$r);
    $ar = $r[0];
    foreach($ar as $k=>$v) {
    if(substr($v,0,2) == "%u" && strlen($v) == 6)
    $ar[$k] = iconv("UCS-2","GB2312",@pack("H4",substr($v,-4)));
    }
    return join("",$ar);
    }