我有一个PHP脚本,它将一个字符串回显到一个html div
。
div的宽度只有50个字符,所以如果字符串更长,我必须把它切成多少行。
所以我可以使用strlen
来查看切割字符串的位置并回显<br>
。问题是,我不想在一个单词中删除它。
我心里想着一个解决方案,但似乎我已经过度复杂了。
谢谢,
答案 0 :(得分:8)
只需将一个属性class="wrapping"
添加到您想要拥有此行为的div中,然后将此css添加到您的HTML页面:
div.wrapping {
word-wrap: break-word;
}
答案 1 :(得分:0)
http://www.totallyphp.co.uk/code/shorten_a_text_string.htm
您可以使用此简单功能缩短文字
答案 2 :(得分:0)
PHP文档页面中有substr
的一些示例。复制/粘贴一对夫妇:
$str = "aa bb ccc ddd ee fff gg hhh iii";
echo substr(($str=wordwrap($str,$len,'$$')),0,strpos($str,'$$'));
和
function _substr($str, $length, $minword = 3)
{
$sub = '';
$len = 0;
foreach (explode(' ', $str) as $word)
{
$part = (($sub != '') ? ' ' : '') . $word;
$sub .= $part;
$len += strlen($part);
if (strlen($word) > $minword && strlen($sub) >= $length)
{
break;
}
}
return $sub . (($len < strlen($str)) ? '...' : '');
}
答案 3 :(得分:0)
wordwrap
($string, 50, "<br>\n")
答案 4 :(得分:0)
写函数
// Original PHP code by Chirp Internet: www.chirp.com.au
// Please acknowledge use of this code by including this header.
function myTruncate($string, $limit, $break=".", $pad="...") {
// return with no change if string is shorter than $limit
if(strlen($string) <= $limit) return $string;
// is $break present between $limit and the end of the string?
if(false !== ($breakpoint = strpos($string, $break, $limit))) {
if($breakpoint < strlen($string) - 1) {
$string = substr($string, 0, $breakpoint) . $pad;
}
}
return $string;
}