JS或是PHP程序关于文字类别超过一行时自动整句换行的问题
JS或是PHP程序关于文字类别超过一行时自动整句换行的问题如图:“广东省广州市信托公司”该段文字已经超过一行的宽度,JS或是PHP程序能自动转到下一行显示,要求就是当N段...
JS或是PHP程序关于文字类别超过一行时自动整句换行的问题
如图:“广东省广州市信托公司”该段文字已经超过一行的宽度,JS或是PHP程序能自动转到下一行显示,要求就是当N段文字中其中某一段文字超过一行,则自动换行!!!
求教!!! 展开
如图:“广东省广州市信托公司”该段文字已经超过一行的宽度,JS或是PHP程序能自动转到下一行显示,要求就是当N段文字中其中某一段文字超过一行,则自动换行!!!
求教!!! 展开
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> |";
}
}
?>
//比如说你这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);
//转一下吧,因为字母和标点符号的编码是一样的,这样应该不会出现乱码;
?>
展开全部
这个用css就可以搞定。详见 white-space: nowrap;
追问
不是的。因为这个公司名字的长度不确定,只有个数是确定的10个、因为公司长度不确定,所以无法使用white-space:nowrap,不换行,就会冲出外面的框。这个肯定是不行的。打个比方,如果是在第六个公司会出现文字冲出框的情况,则应该把第六个公司名字移动到下一行显示。当然有这个第六个公司是假设的,因为每个公司名长度不固定。你就无法确定是第几个公司开始会冲出外面的框,当冲出框能够用程序算出来或是JS能搞定就好了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这有个隐藏的div,不显示边框。然后设置好宽度。就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询