2014-02-21 60 views
0

我在寫博客,我想在主頁面上顯示簡短版本的帖子。我假設原生的PHP字符串函數在這裏不適合,因爲帖子可能很大,並且需要很長時間才能對循環中的所有帖子進行排序。 那麼,這裏的共同策略是什麼?我希望這個問題清晰明確。如何顯示簡短版本的帖子

我不想用JS縮短客戶端的帖子,這不是一個選項。

+2

如果您從數據庫中獲取博客數據,您可以使用內置的substr中的數據庫,我認爲它比內置的php更有效(我沒有爲我的想法留下任何證據)。所以你可以這樣做:SELECT ENTRY_NAME,SUBSTR(BLOG_TEXT,1,100)AS BLOG_TEASE FROM MY_BLOGS。 然後,您只希望在博客被選中後才能獲得全文。 – TheOneWhoPrograms

+0

這是沒有意義的這樣做在客戶端與JavaScript,Ofcourse你可以節省一些時間,但你鬆了很多Bandwitch只是發送更多的數據,只有當用戶有JS引擎打開 –

+0

@TheOneWhoPrograms好,基本上你提出的相同方法,不是嗎? – dKab

回答

3

我使用的解決方案是在數據庫表中創建另一個字段,並在其中添加簡短版本的帖子,cuted begin或類似內容。

它的速度更快,更好,你不用擔心長度becouse你控制它,有一個在上下文中使用evenual html標籤沒有問題的,你可以在炫魅有點不同勢文字

+0

我覺得這個額外的字段會容納很多重複的數據。你爲什麼不簡單地使用文本字段的substr? (出於我個人的好奇心,我不是說你的方法不好,我是新手,想要理解) – TheOneWhoPrograms

+1

複製並不像帶寬和時間那麼大,你有很多讀者。你可以添加另一個HardDrive。另一件事是你不需要把任何種類的邏輯放入數據庫(女巫通常是不好的)。另一件事是你可以總是顯示這個'起動器'與其他字段中存儲的帖子連接在一起,而且你沒有重複記錄 –

+0

啊,我喜歡你說的部分,「你可以隨時顯示另一件事情。 ..「。這樣可以保持速度並減少重複數據! +1。 – TheOneWhoPrograms

1

我可以考慮兩種選擇。第一個涉及您手動爲您的博客文章撰寫摘錄。這樣做,你根本不用擔心PHP。

如果您確實想繼續並自動生成摘錄,我會設置一個字符上限,然後在最接近所選限制的句子結尾處剪切。這種方法可能會產生好的結果,也可能不會產生好的結果,這取決於您的帖子如何撰寫。