我有一個字符串,如果是長於可以說10個字,我想把它分成兩個部分。第二部分將包含在其他地方 - 「更多」鏈接之後。分割HTML字符串
字符串將舉行html標籤也不過。 舉一個例子字符串可能是:
<p>This is just a test string with more words than the <strong>amount allow</strong> before split, blah blah blah</p>
所以在情況下,我會想:提前
我有一個字符串,如果是長於可以說10個字,我想把它分成兩個部分。第二部分將包含在其他地方 - 「更多」鏈接之後。分割HTML字符串
字符串將舉行html標籤也不過。 舉一個例子字符串可能是:
<p>This is just a test string with more words than the <strong>amount allow</strong> before split, blah blah blah</p>
所以在情況下,我會想:提前
好
$string[0] // <p>This is just a test string with more words than</p>;
$string[1] // <p>the <strong>amount allow</strong> before split, blah blah blah</p>;
謝謝,我有同樣的問題。我解決了這個問題,讓我的新聞作家允許使用「[intro] ... [/ intro]」 - 他們文本中的標籤。然後我用正則表達式解析標籤。
如果切割應自動,而無需使用特殊標籤來完成,這是有點難度。您可以使用substr()
功能。但是,那麼你會遇到html標籤的問題。因此,我會用類似的方式將它們剪切:substr(strip_tags($text), 0, 50)
。這將允許顯示50個字符,排除html標籤。
也許這可以幫助你:)
這不是小事,但這裏有一個想法:
$inTag
- 您是否在標籤內$inAttribute
- 是否R您是一個標籤屬性中(其中「>」並沒有結束標記)$currentTagSoFar
- 當前標籤的所有字符。你把當前打開的標籤(推,當你發現一個開始標籤堆棧變量,彈出當你發現 - 將與「S」,然後選擇「ST」,「海峽」,等等,直到「強」$openedTags
啓動關閉一個)$wordsSoFar
- 到目前爲止,你已經找到$insideComment
,這取決於你想如何徹底成爲
我沒有看到一個簡單的答案,這是由於HTML限制。想象一下,整個文本被包裹在一個跨度中......如果你還關閉了代碼片段中的標記並將開放添加到其餘部分,則只能將其分開。 – unomi 2010-06-10 10:29:40