2012-11-23 62 views
0

我寫新聞,我的網站和格式化這樣的:存儲在DB輸出格式化文本的好方法後

[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的obsolet。 而不是使用我應該將其添加到CSS。

我很初學PHP,MySQL,CSS,HTML ...真的,但我努力學習。

所以,我需要的是這個問題的最佳解決方案。

我想創建像CSS規則:

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

,然後將其轉化爲紅色文本代碼,等等

這是一個有效的解決方案,或只是一個治標不治本?

謝謝。

編輯

我有這樣兩個函數轉換我的文字的格式,以便將outputed的遊客。

第一=將轉換[白色文本] [/白文本]到

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

第二 - 將轉換[URL] [/ URL]到

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

問題: WHITE-TEXT - 它只會改變一個單詞短語的顏色。

URL - 它工作正常,但我希望能夠在URL的可讀部分寫任何東西。

+0

CSS非常有效。 – bozdoz

+0

Bozdoz ...如果你看到我的網站代碼,你會明白我在說什麼。什麼是不老的,非常可怕 - 例如:我知道現在對MySQL最好的做法是使用pdo,但我仍然使用舊的方式進行諮詢。這就是爲什麼我問我是否以正確的方式做這件事,或者有更好的方法來做這件事。 – Darkeden

回答

2

一般而言,您希望具有通用的文​​本樣式。給他們描述爲什麼你在做你在做什麼。如果我是你,我會將他們的名字命名爲他們在數據庫中的內容。那麼讓我們假設你決定紅色只是一種可怕的顏色選擇。只需編輯CSS,您就可以非常輕鬆地將其更改爲另一個。

不知道你爲什麼選擇做出紅色的東西,除了嘗試使用與你爲什麼選擇紅色的css名稱相比,我不能給你太多的答案,而不是你在做什麼。第一名。

+0

噢......沒有什麼特別的原因,只是爲了讓文字看起來不錯,而不是單色......我用了幾種顏色(紅色,藍色,綠色,橙色,白色,粗體,下劃線,斜體等) – Darkeden

+0

如果你100%肯定你永遠不會改變它,然後繼續按顏色調用它。除此以外... – PearsonArtPhoto

+0

恩......謝謝你......我可以問你另一件事嗎?這將網址替換爲可點擊的網址 - $ ct = preg_replace(「/ \ [url \](\ S +?)\ [\/url \]/si」,「\\1」,$ ct); - 我想讓URL文本獨立,所以我可以將任何內容編寫爲文本,並且仍然會替換爲正確的URL ...我怎麼能這樣做? – Darkeden