有时显示的时候只需要部分文字,需要截取

1. 可以用CSS来做

<div style="width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;">中文显示部分</div>多余400px的部分会以...省略号的形式显示

2. 程序

补充:getSubContent($content, $needL, $multi=3) 最后一个参数写2还是3是由php保存的文件编码来决定的,uft8一个汉字占用3个字节, ANSI, GB2312 只有2个字节


截取语句中的部分中文<?php
截取语句中的部分中文
//get short title
截取语句中的部分中文//parameter $content: the Chinese sentence you want to cut
截取语句中的部分中文//          $needL, word quantity
截取语句中的部分中文//          $multi, one word takes how many chars, Chinese is 2 or 3, English is 1

截取语句中的部分中文
function getSubContent($content, $needL, $multi=3)
截取语句中的部分中文{
截取语句中的部分中文    
$pat = '/[\s|\d|,|.|?|\\|\/|:|;|\'|\"|\[|\{|\}|\]|+|=|-|_|)|(|*|&|^|%|$|#|@|!|~|`]/';
截取语句中的部分中文    
$arr = preg_split($pat$content);
截取语句中的部分中文    
$enLength = $needL;
截取语句中的部分中文               
截取语句中的部分中文    
$transmitL = $needL * $multi;
截取语句中的部分中文    if ( 
$multi != 1 && $transmitL >= strlen($content))
截取语句中的部分中文    {
截取语句中的部分中文        return 
$content;
截取语句中的部分中文    }
截取语句中的部分中文    if ( 
$multi == 1  && $needL >= count($arr) )
截取语句中的部分中文    {
截取语句中的部分中文        return 
$content;
截取语句中的部分中文    }
截取语句中的部分中文            
截取语句中的部分中文    
$totalL = 0;
截取语句中的部分中文    
$textL = 0;
截取语句中的部分中文    
$markNum = 0;
截取语句中的部分中文    
$i = 0 ;
截取语句中的部分中文    foreach (
$arr as $key => $a)
截取语句中的部分中文    {
截取语句中的部分中文        
$i++;
截取语句中的部分中文        
$textL = strlen($a);
截取语句中的部分中文                
截取语句中的部分中文        if (
$multi != 1) {
截取语句中的部分中文            if ((
$totalL + $textL  ) >= $transmitL)
截取语句中的部分中文            {
截取语句中的部分中文                
$stillNeed = $transmitL - $totalL ;
截取语句中的部分中文                        
截取语句中的部分中文                
$calculateL = $totalL + $stillNeed + $markNum ;
截取语句中的部分中文                break;
截取语句中的部分中文            }
截取语句中的部分中文        } else {
截取语句中的部分中文            if (
$i == $enLength )
截取语句中的部分中文            {
截取语句中的部分中文                
$calculateL = $totalL + $textL + $markNum ;
截取语句中的部分中文                break;
截取语句中的部分中文             }
截取语句中的部分中文        }
截取语句中的部分中文        
$markNum += 1;
截取语句中的部分中文        
$totalL += $textL ;
截取语句中的部分中文    }
截取语句中的部分中文    return substr( 
$content, 0, $calculateL);
截取语句中的部分中文}
截取语句中的部分中文
$str = '繁,体!中,,文繁体中文繁体中文繁体中文繁体中文繁体中文繁体中文繁体中文';
截取语句中的部分中文echo getSubContent(
$str, 5, 2); // 繁,体!中,,
截取语句中的部分中文
$str = 'How can love so beautiful never stop the way!';
截取语句中的部分中文echo getSubContent(
$str, 5, 1); //How can love so beautiful
截取语句中的部分中文?>

相关文章:

  • 2022-12-23
  • 2022-02-28
  • 2022-12-23
  • 2021-09-28
  • 2022-12-23
  • 2022-12-23
  • 2021-08-06
  • 2021-11-30
猜你喜欢
  • 2022-03-01
  • 2021-11-30
  • 2021-11-30
  • 2021-11-27
  • 2021-12-30
  • 2021-12-18
相关资源
相似解决方案