簡體   English   中英

PHP - 如何在某一點將“...”附加到不同長度的字符串? 例如,200個字符之后

[英]PHP - How to append “…” to a string of varying length at a certain point? e.g. After 200 chars

我有一個mysql數據庫和一個充滿信息的表,特別是一列產品描述。 這個列在我的腳本中使用了兩次。 最大長度為1000個字符。

此信息的用途之一是對任何給定產品的簡要描述。 我想顯示我剛剛提到的描述的縮短版本,所以例如可以說200個字符。

現在,使用PHP我想在其達到200個字符的位置附加“...”(3個點)的字符串。 所以基本上只顯示前200個字符。

我怎么會這樣做? 我相信這將是一個相當簡單的任務,但互聯網是一個尋找你不知道名稱的東西的大地方:)

如果有人可以在這方面提供幫助,可以通過示例或與相關功能相關的一些鏈接來實現。 非常感謝!

您可以使用substr實現此目的。

$string = substr($string,0,197) . "...";

這個用來處理實際上不是200個字符的字符串。

$string = 'your long string goes here';
if (strlen($string) >= 200) {
    $string = substr($string, 0, 197).'...';
}

資料來源: php.net/substr

我可以給你一個純CSS的替代品(例如,適用於頭條新聞)嗎?

overflow: hidden; white-space: nowrap; text-overflow: ellipsis;

如果周圍的元素不夠長/大,則會自動切斷太長的文本。

$string = 'asd';
$maxLength = 200;
if (mb_strlen($string) > $maxLength) {
    $string = mb_substr($string, 0, $maxLength) . "...";
}

首先只從您的數據庫中收集200個字符。

$sql = "SELECT LEFT(article, 200) as article WHERE ETC ETC "

然后應用這樣的東西 ,但基本上你需要回到前一個單詞結束砍掉其余部分並重新進行省略。

…

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM