我使用默認情況下自動生成的標準Content
字段添加一些文本。如何限制字符但保留換行符/格式?
"Content" => "HTMLText"
如果我使用限制功能e.g
$Content.BigSummary(300)
這限制了話,但不保留換行符。又名剝離HTML。
通過框架的代碼來看,有ContextSummary()
public function ContextSummary($characters = 500, $string = false, $striphtml = true, $highlight = true,
$prefix = "... ", $suffix = "...")
但是在測試時,使用該上的htmlText場似乎並沒有工作,它限制了字符,但它並沒有讓HTML,除非字段類型爲Text
如
的htmlText:
$Content.ContextSummary(200, false, false)
- 刪除HTML仍然
文字:
$Content.ContextSummary(200, false, false)
- 保持HTML(這是我想要什麼)
難道我做錯了什麼?還是有另一個功能可以用來實現我想要的功能?或者創建一個自定義函數?
這是一個奇怪的情況,因爲'ContextSummary'如何限制字符數量並保留HTML,當它可以通過不返回結束標記來很容易地破壞標籤?即使有'
'換行符,您仍然有可能返回'...懶狗 b'並破壞您的DOM –
您可能可以通過字數統計實現自己的方法,並且要非常小心不要在最後一個單詞之後過濾出結束標籤(包括嵌套的HTML!) –
Robbie的迴應看起來並不準確。剛剛入侵HTMLTextTest(SS 3.5.1中的第310行)時,ContextSummary()方法似乎考慮了包含標記的字符串,因此只計算非標記字符。 這並不解釋OP的問題,但也有演員考慮到我現在還不完全瞭解。 (請參閱Text和HTMLText中的$ casting數組) – theruss