【问题标题】:Good way to store formatted text in DB to output later将格式化文本存储在数据库中以便稍后输出的好方法
【发布时间】:2012-11-24 09:22:44
【问题描述】:

我为我的网站撰写新闻并将其格式化如下:

[h1]News[h1]
[red]Happy New Year[/red]
[white]Happy New Year[/white]

新闻按原样存储在 MySQL 数据库中。 然后当它被我的网站调用时,一个函数将每个代码转换为 HTML 格式。

[h1][/h1] = <h1></h1>
[red][/red] = <font color=red></font>

我很长时间以来对这种方法不满意,但现在这种代码对于 HTML5 来说已经过时了。 我应该将它添加到 CSS 中,而不是使用它。

我是 PHP、MySQL、CSS、HTML 的初学者......真的,但我正在尝试和学习。

所以,我需要的是最好的解决方案。

我正在考虑创建一个 CSS 规则,例如:

span.news-red { color=red }
span.news-white { color=white }

然后将它们放入红色文本等的代码中......

这是一种有效的解决方案还是只是一种缓解措施?

谢谢。

编辑

我有这两个函数来转换我的文本格式以便为访问者输出。

1st = 将 [white-text][/white-text] 转换为

$string = preg_replace("/\[white-text\](\S+?)\[\/white-text\]/si","<font color=white>\\1</font>", $string);

2nd - 将 [url][/url] 转换为

$string = preg_replace("/\[url\](\S+?)\[\/url\]/si","<a href=\"http://\\1\" target=\"_blank\">\\1</a>", $string);

问题: WHITE-TEXT - 它只改变一个单词短语的颜色。

URL - 它工作正常,但我希望能够在 URL 的可读部分写入任何内容。

【问题讨论】:

  • Bozdoz ...如果您看到我的网站代码,您就会明白我在说什么。不旧的东西非常可怕 - 例如:我知道现在 MySQL 的最佳实践是使用 pdo,但我仍然使用旧方法进行咨询。这就是为什么我问我是否以正确的方式做这件事,或者是否有更好的方法来做这件事。

标签: html mysql css


【解决方案1】:

一般来说,您希望拥有通用的文​​本样式。向他们描述你为什么要做你正在做的事情。如果我是你,我会给它们命名为它们在数据库中的内容。然后假设您认为红色只是一种可怕的颜色选择。只需编辑 CSS,您就可以轻松地将其更改为不同的。

不知道你为什么选择红色,我不能给你太多答案,除了尝试使用与你选择红色的原因相关的 css 名称,而不是你一开始在做什么地点。

【讨论】:

  • 哦...没有什么特别的原因,只是为了让文字看起来不错,而不是单色...我使用了几种颜色(红色,蓝色,绿色,橙色、白色、粗体、下划线、斜体等)
  • 如果你是 100% 肯定的,你永远不会改变它,然后继续用颜色比来称呼它。否则...
  • 嗯...谢谢...我可以再问你一件事吗?这会将 url 替换为可点击的 url - $ct = preg_replace("/[url](\S+?)[\/url]/si","\\1", $ct); - 我想让 URL 文本独立,所以我可以将任何内容写成文本,并且仍然会被正确的 URL 替换...我该怎么做?
猜你喜欢
  • 2011-08-08
  • 2015-04-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-22
  • 1970-01-01
  • 1970-01-01
  • 2021-06-02
相关资源
最近更新 更多