<? Php /** * Function source DZX1.5, file/source/function/function_core.php */ Define ('charset', 'utf-8 '); Function cutstr ($ string, $ length, $ dot = "..."){ If (strlen ($ string) <= $ length ){ Return $ string; } If (strtolower (CHARSET) = "UTF-8 "){ $ N = $ tn = $ noc = 0; While ($ n <strlen ($ string )){ $ T = ord ($ string [$ n]); If ($ t = 9 | $ t = 10 | (32 <= $ t & $ t <= 126 )){ $ Tn = 1; $ n ++; $ noc ++; } Elseif (194 <=$ t & $ t <= 223 ){ $ Tn = 2; $ n + = 2; $ noc + = 2; } Elseif (224 <=$ t & $ t <= 239 ){ $ Tn = 3; $ n + = 3; $ noc + = 2; } Elseif (240 <=$ t & $ t <= 247 ){ $ Tn = 4; $ n + = 4; $ noc + = 2; } Elseif (248 <=$ t & $ t <= 251 ){ $ Tn = 5; $ n + = 5; $ noc + = 2; } Elseif ($ t = 252 | $ t = 253 ){ $ Tn = 6; $ n + = 6; $ noc + = 2; } Else { $ N ++; } If ($ noc >=$ length ){ Break; } } If ($ noc> $ length ){ $ N-= $ tn; } $ Strcut = substr ($ string, 0, $ n ); } Else { For ($ I = 0; $ I <$ length; $ I ++ ){ $ Strcut. = ord ($ string [$ I]) & gt; 127? $ String [$ I]. $ string [++ $ I]: $ string [$ I]; } } $ Pos = strrpos ($ strcut, chr (1 )); If ($ pos! = False ){ $ Strcut = substr ($ strcut, 0, $ pos ); } Return $ strcut. $ dot; } $ String = 'test database ablci102020 @(#)!)! Test labor ddk '; Echo cutstr ($ string, 15 ); /* End of php */ |