$startdd)
{
$restr .= $c;
}
if(ord($str[$i])>0x80)
{
if($str_len>$i+1)
{
$c = $str[$i].$str[$i+1];
}
$i++;
}
else
{
$c = $str[$i];
}
if($i >= $enddd)
{
if(strlen($restr)+strlen($c)>$slen)
{
break;
}
else
{
$restr .= $c;
break;
}
}
}
return $restr;
}
}
/**
* utf-8中文截取,单字节截取模式
*
* @access public
* @param string $str 需要截取的字符串
* @param int $slen 截取的长度
* @param int $startdd 开始标记处
* @return string
*/
if ( ! function_exists('cn_substr_utf8'))
{
function cn_substr_utf8($str, $length, $start=0)
{
if(strlen($str) < $start+1)
{
return '';
}
preg_match_all("/./su", $str, $ar);
$str = '';
$tstr = '';
//为了兼容mysql4.1以下版本,与数据库varchar一致,这里使用按字节截取
for($i=0; isset($ar[0][$i]); $i++)
{
if(strlen($tstr) < $start)
{
$tstr .= $ar[0][$i];
}
else
{
if(strlen($str) < $length + strlen($ar[0][$i]) )
{
$str .= $ar[0][$i];
}
else
{
break;
}
}
}
return $str;
}
}
/**
* HTML转换为文本
*
* @param string $str 需要转换的字符串
* @param string $r 如果$r=0直接返回内容,否则需要使用反斜线引用字符串
* @return string
*/
if ( ! function_exists('Html2Text'))
{
function Html2Text($str,$r=0)
{
if(!function_exists('SpHtml2Text'))
{
require_once(DEDEINC."/inc/inc_fun_funString.php");
}
if($r==0)
{
return SpHtml2Text($str);
}
else
{
$str = SpHtml2Text(stripslashes($str));
return addslashes($str);
}
}
}
/**
* 文本转HTML
*
* @param string $txt 需要转换的文本内容
* @return string
*/
if ( ! function_exists('Text2Html'))
{
function Text2Html($txt)
{
$txt = str_replace(" ", " ", $txt);
$txt = str_replace("<", "<", $txt);
$txt = str_replace(">", ">", $txt);
$txt = preg_replace("/[\r\n]{1,}/isU", "
\r\n", $txt);
return $txt;
}
}
/**
* 获取半角字符
*
* @param string $fnum 数字字符串
* @return string
*/
if ( ! function_exists('GetAlabNum'))
{
function GetAlabNum($fnum)
{
$nums = array("0","1","2","3","4","5","6","7","8","9");
//$fnums = "0123456789";
$fnums = array("0","1","2","3","4","5","6","7","8","9");
$fnum = str_replace($nums, $fnums, $fnum);
$fnum = preg_replace("/[^0-9\.-]/", '', $fnum);
if($fnum=='')
{
$fnum=0;
}
return $fnum;
}
}
/**
* 获取拼音以gbk编码为准
*
* @access public
* @param string $str 字符串信息
* @param int $ishead 是否取头字母
* @param int $isclose 是否关闭字符串资源
* @return string
*/
if ( ! function_exists('GetPinyin'))
{
function GetPinyin($str, $ishead=0, $isclose=1)
{
global $cfg_soft_lang;
if(!function_exists('SpGetPinyin'))
{
//全局函数仅是inc_fun_funAdmin.php文件中函数的一个映射
require_once(DEDEINC."/inc/inc_fun_funAdmin.php");
}
if($cfg_soft_lang=='utf-8')
{
return SpGetPinyin(utf82gb($str), $ishead, $isclose);
}
else
{
return SpGetPinyin($str, $ishead, $isclose);
}
}
}
/**
* 将实体html代码转换成标准html代码(兼容php4)
*
* @access public
* @param string $str 字符串信息
* @param long $options 替换的字符集
* @return string
*/
if ( ! function_exists('htmlspecialchars_decode'))
{
function htmlspecialchars_decode($str, $options=ENT_COMPAT) {
$trans = get_html_translation_table(HTML_SPECIALCHARS, $options);
$decode = ARRAY();
foreach ($trans AS $char=>$entity) {
$decode[$entity] = $char;
}
$str = strtr($str, $decode);
return $str;
}
}
if ( ! function_exists('ubb'))
{
function ubb($Text) {
$Text=trim($Text);
//$Text=htmlspecialchars($Text);
//$Text=ereg_replace("\n","
",$Text);
$Text=preg_replace("/\\t/is"," ",$Text);
$Text=preg_replace("/\[hr\]/is","
\\1",$Text); if (version_compare(PHP_VERSION, '5.5.0', '>=')) { $Text=preg_replace_callback("/\[colorTxt\](.+?)\[\/colorTxt\]/is","color_txt",$Text); } else { $Text=preg_replace("/\[colorTxt\](.+?)\[\/colorTxt\]/eis","color_txt('\\1')",$Text); } $Text=preg_replace("/\[email\](.+?)\[\/email\]/is","\\1",$Text); $Text=preg_replace("/\[i\](.+?)\[\/i\]/is","\\1",$Text); $Text=preg_replace("/\[u\](.+?)\[\/u\]/is","\\1",$Text); $Text=preg_replace("/\[b\](.+?)\[\/b\]/is","\\1",$Text); $Text=preg_replace("/\[quote\](.+?)\[\/quote\]/is","
引用:", $Text); $Text=preg_replace("/\[sig\](.+?)\[\/sig\]/is","\\1