Home > Backend Development > PHP Tutorial > php smarty function extension_PHP tutorial

php smarty function extension_PHP tutorial

WBOY
Release: 2016-07-21 15:39:39
Original
853 people have browsed it

中文截取 modifier.cn_truncate.php

复制代码 代码如下:

function smarty_modifier_cn_truncate($string, $strlen = 20, $etc = '...',
$keep_first_style = false)
{
$strlen = $strlen*2;
$string = trim($string);
if ( strlen($string) <= $strlen ) {
return $string;
}
$str = strip_tags($string);
$j = 0;
for($i=0;$i<$strlen;$i++) {
if(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) <= $strlen ) {
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
复制代码 代码如下:

function smarty_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] = '/[media](.*?)[/media]/s';
    $ubbs['media'][1] = '';
    $ubbs['list'][0] = '/[list](.*?)[/list]/s';
    $ubbs['list'][1] = '
      1
    ';
    $ubbs['list2'][0] = '/[list=([0-9]+)](.*?)[/list]/s';
    $ubbs['list2'][1] = '
      2
    ';
    $ubbs['indent'][0] = '/[indent](.*?)[/indent]/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] = '
     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);
    return $str_ret;
    }
    ?>

    编码 modifier.unescape.php
    复制代码 代码如下:

    function 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);
    }

    www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/321504.htmlTechArticleChinese intercept modifier.cn_truncate.php Copy the code as follows: function smarty_modifier_cn_truncate($string, $strlen = 20, $ etc = '...', $keep_first_style = false) { $strlen = $s...
    source:php.cn
    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
    Popular Tutorials
    More>
    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template