-
Notifications
You must be signed in to change notification settings - Fork 0
/
function.php
56 lines (56 loc) · 2.02 KB
/
function.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php
function unhtml($content){ //定义自定义函数的名称
$content=htmlspecialchars($content); //转换文本中的特殊字符
$content=str_replace(chr(13),"<br>",$content); //替换文本中的换行符
$content=str_replace(chr(32)," ",$content); //替换文本中的
$content=str_replace("[_[","<",$content); //替换文本中的大于号
$content=str_replace("]_]",">",$content); //替换文本中的小于号
$content=str_replace("|_|"," ",$content); //替换文本中的空格
return trim($content); //删除文本中首尾的空格
}
function msubstr($str,$start,$len) { //定义自定义函数的名称,控制文本输出字符的个数
$strlen=$start+$len; //获取文本的长度
for($i=0;$i<$strlen;$i++) { //循环输出文本中的字符
if(ord(substr($str,$i,1))>0xa0) { //截取文本中的字符
$tmpstr.=substr($str,$i,2); //截取文本中的字符
$i++;
}else
$tmpstr.=substr($str,$i,1);
}
return $tmpstr;
}
function cut_str($string, $sublen, $start = 0, $code = 'UTF-8')
{
if($code == 'UTF-8')
{
$pa = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/";
preg_match_all($pa, $string, $t_string);
if(count($t_string[0]) - $start > $sublen) return join('', array_slice($t_string[0], $start, $sublen))."......";
return join('', array_slice($t_string[0], $start, $sublen));
}
else
{
$start = $start*2;
$sublen = $sublen*2;
$strlen = strlen($string);
$tmpstr = '';
for($i=0; $i<$strlen; $i++)
{
if($i>=$start && $i<($start+$sublen))
{
if(ord(substr($string, $i, 1))>129)
{
$tmpstr.= substr($string, $i, 2);
}
else
{
$tmpstr.= substr($string, $i, 1);
}
}
if(ord(substr($string, $i, 1))>129) $i++;
}
if(strlen($tmpstr)<$strlen ) $tmpstr.= "...";
return $tmpstr;
}
}
?>