社区
基础编程
帖子详情
请问如何实现长文字的缩写功能.
XiaoDi_Liu
2004-08-08 03:51:56
我有一大串长文字.在某些场合只需显示前10个字符和......但是用了substr(xx,0,10)后偶尔会产生xxx?......的情况.也就是这个?是被分割的汉字字符.前十个当中有奇数个数字和字母.请问有什么好的解决之道吗?谢谢!
...全文
110
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
文字
识别源代码
实现
类似QQ的图片截图
功能
,并对所截取的图片进行图片
文字
识别,输出识别字符串,内有详细注释,代码经典实在值得借鉴……
CSS运用的二十四则技巧
在CSS网页布局开发中,会有很多小技巧,新手朋友往往对此很不熟悉。在某一两个小问题上,或许纠缠很
长
时间才能搞明白,虽然在的文档中,多次提及过这方面的内容,但依然有很多朋友在这些问题上犯错。我们今天看看这些CSS技巧,认真读一读,或许您并不能完全理解,您可以在进行搜索,扩展您所想要得到的知识,相信您会有很多收获!
文本
长
度过
长
时省略号
缩写
,鼠标移动显示全部信息
1. 单行
实现
方式(HTML)
实现
效果: 源码: <div style="width:200px;overflow:hidden; white-space:nowrap; text-overflow:ellipsis" title="CSS
实现
文本过
长
时省略号
缩写
,鼠标移动显示全部信息">CSS
实现
文本过
长
时省略号
缩写
,鼠标移动显示全部信息</div> CSS的两个属性: 属性:值 ; 描述 overflow:hidden; 文本内容会被修剪,并且其余内容是不可
python
实现
具有删除空格、英文标点替换、英文单词大写等
功能
的
文字
排版工具
编写代码,
实现
具有删除空格、英文标点替换、英文单词大写等
功能
的
文字
排版工具。原始文本为" 他问,你知道’cba’是什么单词的
缩写
么 ? " # .
文字
排版 str = " 他问,你知道'cba'是什么单词的
缩写
么 ? " print("1.删除空格\n2.英文标点替换\n3.英文单词大写\n4.退出") for i in range(1, 6): add = int(input("请输入
功能
选项:\n")) if i < 5: if ad
实现
长
文字
的
缩写
功能
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写文章