PHP で出力記事の単語数を制限し、残りを "..." で表すにはどうすればよいですか?
親愛なる兄弟たち、女の子は PHP を学んだばかりです。図に示すように記事のコンテンツを出力すると、
記事のコンテンツが多すぎるため、テーブル全体が変形してしまいます。図に示すように、その一部のみを出力したいのですが、他の内容は省略記号で表されます。
また、インターネット上で多くの方法を見つけましたが、CSS、substr、その他の関数は機能しませんでした。 php がうまく動作しませんでした。助けていただければ幸いです。ありがとうございます
------解決策のアイデア----------------------
echo mb_strlen($news['n_content'], 'utf-8') > 9 ? mb_substr($news['n_content'], 0, 9, 'utf-8').'....' : $news['n_content'];
<br />/**<br /> * 字符串截取<br /> *<br /> */<br />function sub_str($str, $length = 0, $append = true)<br />{<br /> $str = trim($str);<br /> $strlength = strlen($str);<br /><br /> if ($length == 0 <br><font color='#FF8000'>------解决思路----------------------</font><br> $length >= $strlength)<br /> {<br /> return $str; //截取长度等于0或大于等于本字符串的长度,返回字符串本身<br /> }<br /> elseif ($length < 0) //如果截取长度为负数<br /> {<br /> $length = $strlength + $length;//那么截取长度就等于字符串长度减去截取长度<br /> if ($length < 0)<br /> {<br /> $length = $strlength;//如果截取长度的绝对值大于字符串本身长度,则截取长度取字符串本身的长度<br /> }<br /> }<br /><br /> if (function_exists('mb_substr'))<br /> {<br /> $newstr = mb_substr($str, 0, $length, EC_CHARSET);<br /> }<br /> elseif (function_exists('iconv_substr'))<br /> {<br /> $newstr = iconv_substr($str, 0, $length, EC_CHARSET);<br /> }<br /> else<br /> {<br /> //$newstr = trim_right(substr($str, 0, $length));<br /> $newstr = substr($str, 0, $length);<br /> }<br /><br /> if ($append && $str != $newstr)<br /> {<br /> $newstr .= '...';<br /> }<br /><br /> return $newstr;<br />}<br />