Heim >Backend-Entwicklung >PHP-Tutorial >php smarty函数扩展_PHP教程

php smarty函数扩展_PHP教程

WBOY
WBOYOriginal
2016-07-21 15:39:39828Durchsuche

中文截取 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) return $string;
}
$str = strip_tags($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
复制代码 代码如下:

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] = 'php smarty函数扩展_PHP教程';
    $ubbs['img2'][0] = '/\[img=([^,]+),([^\]]+)\](.*?)\[\/img\]/s';
    $ubbs['img2'][1] = 'php smarty函数扩展_PHP教程';
    $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.htmlTechArticle中文截取 modifier.cn_truncate.php 复制代码 代码如下: function smarty_modifier_cn_truncate($string, $strlen = 20, $etc = '...', $keep_first_style = false) { $strlen = $s...
  • Stellungnahme:
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn