JS或是PHP程序关于文字类别超过一行时自动整句换行的问题

JS或是PHP程序关于文字类别超过一行时自动整句换行的问题如图:“广东省广州市信托公司”该段文字已经超过一行的宽度,JS或是PHP程序能自动转到下一行显示,要求就是当N段... JS或是PHP程序关于文字类别超过一行时自动整句换行的问题
如图:“广东省广州市信托公司”该段文字已经超过一行的宽度,JS或是PHP程序能自动转到下一行显示,要求就是当N段文字中其中某一段文字超过一行,则自动换行!!!
求教!!!
展开
 我来答
百度网友00cff46
2011-10-13
知道答主
回答量:21
采纳率:0%
帮助的人:20.3万
展开全部
<?php
//比如说你这10个公司名字是一个数组$company,我为了省事,认为键位url,值为公司名
$str="";//测字节用
$realstr="";//实际要用得字符串
for($company as $url=>$name){
//你数一数,因为div框内宽度固定,字体大小固定,gbk的话 字节与站得空间比也固定(字母,符号1个字节半格,汉字2个字节整格),
//所以呢你能得到一行能放多少字节。比如说1行100字节。
if(strlen($str.$name." |")>100)
{
$str = $name." |";
$realstr.="<br/><a href=".$url.">".$name."</a> |";
}else{
$str.= $name." |";
$realstr.= "<a href=".$url.">".$name."</a> |";
}
}
?>
追问
你这个方式是可取!
但是,打个比方,一行的宽度为650px的话,那么
我是中国人|世界你好|DDDCCC|

问题是“我是中国人|世界你好|DDDCCC|”的长度达到多少个字节才刚好达到650px宽度的临界值呢?这个是本问题的关键!!!

这个方法我也想过,但是开始觉得不好弄。我的编码是utf-8的、
追答
如果是gbk的话好弄 你一行打满汉字然后乘以2就是字节数了,utf-8这个貌似这个方法就不灵了 。。字母字符1个字节 汉字3个字节 字符大小和字节不成比例了。 我再想想哈

这样应该木有问题

&name){
//你数一数,因为div框内宽度固定,字体大小固定,gbk的话 字节与站得空间比也固定(字母,符号1个字节半格,汉字2个字节整格),
//所以呢你能得到一行能放多少字节。比如说1行100字节。
iconv("UTF-8","gbk",$name);
if(strlen($str.$name." |")>100)
{
$str = $name." |";
$realstr.="".$name." |";
}else{
$str.= $name." |";
$realstr.= "".$name." |";
}
}
iconv("gbk","UTF-8",$realstr);
//转一下吧,因为字母和标点符号的编码是一样的,这样应该不会出现乱码;
?>
myluluy
2011-10-12 · TA获得超过518个赞
知道小有建树答主
回答量:291
采纳率:0%
帮助的人:283万
展开全部
这个用css就可以搞定。详见 white-space: nowrap;
追问
不是的。因为这个公司名字的长度不确定,只有个数是确定的10个、因为公司长度不确定,所以无法使用white-space:nowrap,不换行,就会冲出外面的框。这个肯定是不行的。打个比方,如果是在第六个公司会出现文字冲出框的情况,则应该把第六个公司名字移动到下一行显示。当然有这个第六个公司是假设的,因为每个公司名长度不固定。你就无法确定是第几个公司开始会冲出外面的框,当冲出框能够用程序算出来或是JS能搞定就好了.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
程序员杨007
2011-10-13 · 超过17用户采纳过TA的回答
知道答主
回答量:101
采纳率:0%
帮助的人:51.8万
展开全部
这有个隐藏的div,不显示边框。然后设置好宽度。就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式