中文截取 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="1">';
$ubbs['img2'][0] = '/[img=([^,]+),([^]]+)](.*?)[/img]/s';
$ubbs['img2'][1] = '<img border="0" width="1" height="2" src="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="http://wpa.qq.com/pa?p=1:1:1" alt="点击这里给我发消息"></a>';
$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';
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="1">';
$ubbs['img2'][0] = '/[img=([^,]+),([^]]+)](.*?)[/img]/s';
$ubbs['img2'][1] = '<img border="0" width="1" height="2" src="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="http://wpa.qq.com/pa?p=1:1:1" alt="点击这里给我发消息"></a>';
$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';







