我有一個文本塊這樣的:限制文本一定數目的字符忽略HTML標籤/屬性
<p class="post">Lorem ipsum dolor sit amet, <a href="http://website.com/link" target="_blank" title="hello">consectetur adipiscing elit</a>. Pellentesque vehicula tortor eget tortor fermentum bibendum. Duis mollis nisl et metus vulputate, a aliquam quam pharetra. <a href="http://website.com/link" target="_blank" title="hello">consectetur adipiscing elit</a> quis hendrerit nibh ultrices eget. <span class="highlight">Praesent</span> eu mollis lectus, sed convallis quam.</p>
我想經過100個字符截斷文本。只需一個文本字符串,我會使用類似:
var new_string = text_string.substring(0,100);
但我需要計時的字符時,使其截斷後100個可見字符的文本,以文本中的鏈接和其他HTML考慮,不是100個字符的HTML本身,並且保留文本中的HTML標記。
注意:我不能保留任何HTML標記,因此我需要在截斷標記之前不截斷文本,或截斷文本,然後添加正確的結束標記。
可以做到這一點嗎?
您可以按文檔順序遍歷節點,並且無論何時到達文本節點時,都可以查看它有多少個字符。保持運行總數,當你到達超過最大值的節點時,截斷那裏,然後清空每個後續的文本節點。 – 2016-12-16 22:13:16
你可以運行正則表達式來查找><之間的所有文本。 – Alon
你想要去掉html嗎?或截斷文本並離開HTML?這通常是在清除html之後完成的,因爲只計算文本並且仍然有一個有效的html,沒有一堆空的html標記或格式可能會炸燬佈局,這並不容易。 –