相思资源网 Design By www.200059.com
中文截取 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
复制代码 代码如下:
<?php
function smarty_modifier_ubb($str) {
$ubbs['quote'][0] = '/\[quote\](.*?)\[\/quote\]/s';
$ubbs['quote'][1] = '<blockquote>引用:<hr size=1>\1<hr size=1></blockquote>';
$ubbs['b'][0] = '/\[b\](.*?)\[\/b\]/s';
$ubbs['b'][1] = '<b>\1</b>';
$ubbs['i'][0] = '/\[i\](.*?)\[\/i\]/s';
$ubbs['i'][1] = '<i>\1</i>';
$ubbs['u'][0] = '/\[u\](.*?)\[\/u\]/s';
$ubbs['u'][1] = '<u>\1</u>';
$ubbs['li'][0] = '/\[li\](.*?)\[\/li\]/s';
$ubbs['li'][1] = '<li>\1</li>';
$ubbs['img'][0] = '/\[img\](.*?)\[\/img\]/s';
$ubbs['img'][1] = '<img border="0" src="/UploadFiles/2021-04-02/\1">$ubbs['img2'][0] = '/\[img=([^,]+),([^\]]+)\](.*?)\[\/img\]/s';
$ubbs['img2'][1] = '<img border="0" width="\1" height="\2" src="/UploadFiles/2021-04-02/\3">$ubbs['url'][0] = '/\[url\](.*?)\[\/url\]/s';
$ubbs['url'][1] = '<a href="\1" target="_blank">\1</a>';
$ubbs['url2'][0] = '/\[url=([^\]]+)\](.*?)\[\/url\]/s';
$ubbs['url2'][1] = '<a href="\1" target="_blank">\2</a>';
$ubbs['email'][0] = '/\[email=([^\]]+)\](.*?)\[\/email\]/s';
$ubbs['email'][1] = '<a href="mailto:\2">\2</a>';
$ubbs['qq'][0] = '/\[qq\]([0-9]{5,10})\[\/qq\]/s';
$ubbs['qq'][1] = '<a target="new" href="tencent://message/?uin=\1&Site=www.52515.net&Menu=yes"><img border="0" src="/UploadFiles/2021-04-02/pa?p=1:\1:\1">$ubbs['color'][0] = '/\[color=([^\]]+)\](.*?)\[\/color\]/s';
$ubbs['color'][1] = '<font color="\1">\2';
$ubbs['font'][0] = '/\[font=([^\]]+)\](.*?)\[\/font\]/s';
$ubbs['font'][1] = '<font face="\1">\2';
$ubbs['size'][0] = '/\[size=([0-9]+)\](.*?)\[\/size\]/s';
$ubbs['size'][1] = '<font size="\1" style="line-height:\1em;">\2';
$ubbs['sizept'][0] = '/\[size=([0-9,pt]+)\](.*?)\[\/size\]/s';
$ubbs['sizept'][1] = '<font style="font-size:\1">\2';
$ubbs['align'][0] = '/\[align=([^\]]+)\](.*?)\[\/align\]/s';
$ubbs['align'][1] = '<div align="\1">\2';
$ubbs['media'][0] = '/\[media\](.*?)\[\/media\]/s';
$ubbs['media'][1] = '<embed src="/UploadFiles/2021-04-02/\1">$ubbs['list'][0] = '/\[list\](.*?)\[\/list\]/s';
$ubbs['list'][1] = '<ul>\1</ul>';
$ubbs['list2'][0] = '/\[list=([0-9]+)\](.*?)\[\/list\]/s';
$ubbs['list2'][1] = '<ol>\2</ol>';
$ubbs['indent'][0] = '/\[indent\](.*?)\[\/indent\]/s';
$ubbs['indent'][1] = '<div style="text-indent: 20px;">\1';
$ubbs['table'][0] = '/\[table([=,0-9,%]*)\](.*?)\[\/table\]/s';
$ubbs['table'][1] = '<table style="border:#0099FF 1px dotted;border-right-width:0px; border-top-width:0px;">\2';
$ubbs['tr'][0] = '/\[tr\](.*?)\[\/tr\]/s';
$ubbs['tr'][1] = '<tr>\1';
$ubbs['td'][0] = '/\[td\](.*?)\[\/td\]/s';
$ubbs['td'][1] = '<td style="border:#0099FF 1px dotted; border-left-width:0px; border-bottom-width:0px;">&nbsp;\1';
$ubbs['td2'][0] = '/\[td([^(\]|\[)]+)\](.*?)\[\/td\]/s';
$ubbs['td2'][1] = '<td style="border:#0099FF 1px dotted; border-left-width:0px; border-bottom-width:0px;">&nbsp;\2';
$str = str_replace('[*]','<li>',$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);
}
标签:
php,smarty

相思资源网 Design By www.200059.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
相思资源网 Design By www.200059.com

评论“php smarty函数扩展”

暂无php smarty函数扩展的评论...

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。