2016-12-15 91 views
0

对于我的博客,我希望能够在从数据库检索它们时将CSS类添加到html标签。从数据库中检索它们之后,将CSS-classes添加到HTML标签

例如,我在我的数据库下面,一列名为body

<p> 
    SO is great 
</p> 

然后我将它输出在视图中,与某事像这样:

{{ blogpost.body }}

但我其实想要的是:

<p class="class1 class2 class3"> 
    SO is great 
</p> 

我怎样才能做到这一点?

我只能想到使用JS和添加类,但我不喜欢这个想法。

有没有办法预先格式化并将其保存在数据库中?或者这是一个不好的做法?

欢迎任何建议。

+0

为什么你不喜欢JS选项? –

+0

p标签到达像一个字符串? –

+0

在我看来,你已经在你的数据库中使用html,所以在你的数据库中使用类不会损害任何东西。事实上这就是很多自定义Wordpress和php插件的工作原理。 – fuzzybaird

回答

1

所以不是

SELECT body 

可以尝试:

SELECT REPLACE (body, '<p>', '<p class="class1 class2 class3">') as body 

或更新你的数据库

UPDATE yourTable 
SET body = REPLACE (body, '<p>', '<p class="class1 class2 class3">') 
WHERE body LIKE '<p>%' 
+0

谢谢你的回答。我的反对意见是这样的查询将是不可读的(想象为每个html元素做这个)。我认为更好的选择是在将主体插入数据库之前修改主体。 – padawanTony

+0

也许你可以做同样的事情,但一个更新呢? –

+0

'在更新'?谨慎扩展? – padawanTony

0

你能不能把它放在一个容器?

<div class="{{ blogpost.tags }}"> 
    {{ blogpost.body }} 
</div> 
相关问题