社区
基础编程
帖子详情
请问如何实现长文字的缩写功能.
XiaoDi_Liu
2004-08-08 03:51:56
我有一大串长文字.在某些场合只需显示前10个字符和......但是用了substr(xx,0,10)后偶尔会产生xxx?......的情况.也就是这个?是被分割的汉字字符.前十个当中有奇数个数字和字母.请问有什么好的解决之道吗?谢谢!
...全文
111
7
打赏
收藏
请问如何实现长文字的缩写功能.
我有一大串长文字.在某些场合只需显示前10个字符和......但是用了substr(xx,0,10)后偶尔会产生xxx?......的情况.也就是这个?是被分割的汉字字符.前十个当中有奇数个数字和字母.请问有什么好的解决之道吗?谢谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
skystar008
2004-08-09
打赏
举报
回复
这个问题问的人太多了!
function substrex($str,$len)
{
$str = (string)$str;
$len = (int)$len;
$strlen = strlen($str);
if($len>$strlen) $len = $strlen;
$i = 0;
$fixlen = 0;
while($i<$len){
$chr = $str[$i];
$i++;
if(ord($chr)<0x80) $fixlen++; //128D
elseif($i<$len){
$i++;
$fixlen += 2;
}
}
$cutstr = substr($str,0,$fixlen);
if ($str <> $cutstr)
{
$cutstr .= '...';
}
return $cutstr;
}
lzkd
2004-08-08
打赏
举报
回复
PHP中一个控制字符串输出的函数
// php 中 一个控制字符串输出的函数(中英文),每行显示多少字数,避免英文的影响
// $str 字符串
// $len 每行显示的字数(汉字×2)
function rep($str,$len)
{
$strlen=strlen($str);
$i=0;
$finstr="";
$pos=0;
while($i<$strlen)
{
$s1=substr($str,$i,1);
$s2=ord($s1);
if($s2>0xa0){
$finstr.=substr($str,$i,2);
$pos+=2;
$i+=2;
}else{
switch($s2){
case 13:
$finstr.="<BR>";
$pos=0;
break;
case 10:
$pos=0;
break;
case 32;
$finstr.=" ";
$pos++;
break;
default:
$finstr.=htmlspecialchars($s1);
$pos++;
break;
}
$i++;
} //if
if($pos>=$len){
$finstr.="<BR>";
$pos=0;
}
} //while
return $finstr;
}
lzkd
2004-08-08
打赏
举报
回复
substr()函数中文版(终极完美版)
function msubstr($str,$start,$len)//字符位置从0开始
{
$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;
}
ice_berg16
2004-08-08
打赏
举报
回复
/* 函数 sub_str($text, $length)
** 功能 从文本中截取指定长度字符串,考虑了对中文的处理
** 参数 $text 要截取的文本
** 参数 $length 要截取的字符串长度
*/
function sub_str($text, $length)
{
for ($i=0; $i<$length; $i++)
{
$chr = substr($text, $i, 1);
if (ord($chr) > 0x80)//字符是中文
{
$length++;
$i++;
}
}
$str = substr($text, 0, $length);
return $str;
}
since2006
2004-08-08
打赏
举报
回复
用这个。。。。接分ing... :)
$srt = substr($str,"0","20").chr(0);
终于抢到一贴了,以前一朋友靠诉偶的。。
juxugongzi
2004-08-08
打赏
举报
回复
一般来说,GB2312汉字的前后两个字节的ASCII值都不会小于 128,而英文字符正相反,只需要判断这个就可以了。不过,你不要想用这个办法判断其他大字库的汉字编码,比如说 GBK。
spacet
2004-08-08
打赏
举报
回复
写个函数,判断你需要截取的地方是汉字还是非汉字
图片ORC
文字
识别源代码
【图片ORC
文字
识别源代码】是一个涉及到计算机视觉与自然语言处理领域的项目,主要目标是
实现
类似QQ截图工具的
功能
,并在此基础上添加了图片中的
文字
识别(OCR,Optical Character Recognition)
功能
。通过这个项目...
CSS运用的二十四则技巧
17. **文本框垂直居中**:在表单输入框中
实现
文字
垂直居中,可以使用`padding`代替`line-height`。 18. **A标签样式**:定义`a`标签样式时,要考虑到四种状态,避免样式混乱。 19. **不适用简写的属性**:对于需要...
文本
长
度过
长
时省略号
缩写
,鼠标移动显示全部信息
text-overflow:ellipsis" title="CSS
实现
文本过
长
时省略号
缩写
,鼠标移动显示全部信息">CSS
实现
文本过
长
时省略号
缩写
,鼠标移动显示全部信息</div> CSS的两个属性: 属性:值 ; 描述 overflow:...
python
实现
具有删除空格、英文标点替换、英文单词大写等
功能
的
文字
排版工具
编写代码,
实现
具有删除空格、英文标点替换、英文单词大写等
功能
的
文字
排版工具。原始文本为" 他问,你知道’cba’是什么单词的
缩写
么 ? " # .
文字
排版 str = " 他问,你知道'cba'是什么单词的
缩写
么 ? " print("1....
实现
长
文字
的
缩写
功能
function substrex($str,$len){ $str = (string)$str; $len = (int)$len; $strlen = strlen($str); if($len>$strlen) $len = $strlen; $i = 0; $fixlen = 0; whi
基础编程
21,893
社区成员
140,347
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章