2016-10-29 28 views
1

我正在爲螺栓(CMS)製作主題,它使用Twig引擎。 該網站包含的文章,所以我得到的文章的領域這樣{{ article.body }}如何獲得不包括html的記錄中的第一個字符

現在我想達到什麼讓文章正文的第一個字母,並使它大,然後顯示在文章的身體的其餘部分(不這個第一個字符)通常,你有時會在書中看到這個。我設法做到了這一點,併成功改變了第一個角色的風格。

但是,使用Twig在文檔中提供的大多數功能時,我通常會在管理面板中鍵入文章的主體時獲得「<」作爲第一個符號,它會自動將<p>標記放在首位。

有沒有辦法解決這個問題?我不希望我的客戶每次都必須刪除<p>標籤。我認爲會有一個簡單的方法來獲得沒有任何HTML的身體或其他適合我的用例的其他內容。

的方式,目前精美的作品:

<span class="firstcharacter">{{ article.body[:1] }}</span> {{ article.body[1:] }}</p> 

但是這依賴於文章沒有與任何HTML

回答

0

有一個CSS僞選擇的第一個字母開始:

.firstcharacter::first-letter{font-size: 50px;} 

這會幫你嗎?

+0

我實際上有一個不同的問題。設計部分沒問題,所以我的問題是關於Twig。我成功改變了第一個字符的樣式,問題是第一個字符可能是一個html <字符,因爲樹枝像這樣返回它。 – iBobb

+0

好的 - 在這種情況下,我不能幫助,因爲我不熟悉枝或螺栓,對不起。猜猜這是我的週末研究排序雖然:o) –

0

您可以使用striptags過濾器。作爲例子:

{{ article.body| striptags [:1] }} 

Here工作的例子

希望這有助於

+0

我真的看到了,並試了一下,但那麼編輯將如何格式化他們的文章與HTML? – iBobb

0

你不應該需要,如果你使用CSS例如提取的第一個字母

模板: <div class="dropcap">{{ article.body }}</div>

CSS: div.dropcap p:first-of-type::first-letter {color: #f00;}

這將改變第一段的第一個字母。

相關問題