2011-09-22 13 views
0

我想知道如何在包含HTML也是一個給定的帖子,如何從0至300個字符strip_tags的所有標籤,並從301只允許一些標籤

strip_tags($entry->description); 

從CHAR 0至300和301到後年底只允許<b><p><br>

strip_tags($entry->description, '<b><p><br>'); 

我正在尋找一種方式,不殺,雖然表現,因爲我想在頁面加載快。

謝謝。

+0

你想創建一個文本領導Blurb的? – AlienWebguy

+0

我很抱歉,但我不明白你的問題。英語不是我的主要語言。 – Jeksiliki

回答

2

只需用strip_tags()兩個部分分開:

$start = strip_tags(substr($entry->description, 0, 300)); 
$rest = strip_tags(substr($entry->description, 300), '<b><p><br>'); 
$start . $rest; 
+4

值得注意的是,如果標記在索引300之前開始並在其之後結束,則可能導致HTML片段。 –

+0

這是真的,我現在正在處理它。有沒有辦法解決這個問題? – Jeksiliki

+0

@Jeksiliki:你必須通過DOM按摩字符串才能找到合適的斷點。不要使用基於字符串的操作,因爲您可能會留下懸掛標籤,例如'

  • yada yada300char boundary here ->.<-' and chop off the closing '
'。 –