簡體   English   中英

如何使其不顯示少於x個字符的點?

[英]How do I make it not show dots less than x chars?

如果小於x,則不顯示“ ...”

<?php echo substr(stripslashes($row['news_title']), 0, 20). ".."; ?>

如果大於20,我可以顯示多於x,但是當有10個字符時,它顯示為“ ...”。 無論如何,我可以不顯示它嗎?

有教程嗎?

謝謝!

嘗試像

<?php echo substr(stripslashes($row['news_title']), 0, 20);
      if(strlen($row['news_title']) > 20)
          echo ".."; 
?>

您可以使用CSS技巧 ,但這將是在服務器端執行此操作的代碼:

if (strlen($row['news_title']) <= 20) {
    echo htmlspecialchars($row['news_title']);
} else {
    echo htmlspecialchars(substr($row['news_title'], 0, 20)), '...';
}

注意, strlen()本身計算字節而不是字符; 當您開始使用Unicode時,這一點很重要,在這種情況下,您可能需要考慮使用mb_strlen()

順便說一句,使用stripslashes()有點stripslashes() 如果引號轉義,問題就出在別處,這不應該是表示層的問題……實際上,您應該使用htmlspecialchars()代替。

這樣就可以了。

<?php echo strlen(stripslashes($row['news_title']))>20 ?substr(stripslashes($row['news_title']), 0, 20)."...":stripslashes($row['news_title']); ?>

嘗試編寫自己的子字符串函數:它可能像這樣http://www.sranko.com/nwP3LFit

暫無
暫無

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

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