2011-04-12 21 views
0

我想要一個庫來創建從.html和.css文件或頭部標籤的HTML文件內嵌的CSS + HTML。如果可能,我更喜歡PHP庫。PHP庫從文件或<style>標籤創建內聯CSS?

通過內聯CSS我的意思是這樣

<span style="font: bla bla bla">Hi There!</span> 

<style> 
    .greeting { font: bla bla bla; } 
</style> 

我經常需要把HTML到電子郵件,這將大大簡化這個過程。

如果任何人有興趣,我目前的解決方案(對於經常沒有重新定義的東西)是使用Smarty模板引擎來創建文檔,並將style =「」部分分配給模板中的變量。

然後我就可以使用該變量在每個標籤(如<td {$td_style}>(FYI - {$variable}是變量如何智者插入模板),讓其生成相應的電子郵件友好的HTML

但是我想要的東西,比較一般,和我可以只給它一些HTML和CSS,而不是讓所有的將其轉換爲一個智者的模板。

有誰知道,如果這樣的庫是否存在?

+3

哦,我的耳朵... – alex 2011-04-12 03:27:40

+0

這是,這個,創意格式。 – 2011-04-12 03:28:17

+1

這正是我不喜歡我的客戶訪問TinyMCE/CKEditor的原因。 – alex 2011-04-12 03:30:09

回答

1

雖然我不不知道處理這個問題的庫,如果你使用PHP,你可以通過使用CSSTidy解析CSS,然後使用XML解析器(理想的情況下,如果您的代碼格式良好 - 也許是SimpleXML或DOM擴展),或者我看到可以解析的一個PHP-based HTML parsers HTML,因此您可以根據CSS規則通過DOM方法更改HTML。

如果您不需要將它綁定到PHP進程中,我建議您使用JavaScript來處理幾乎所有類似的事情,因爲它可以在客戶端(並在不同的環境中)工作,並且可以方便地使用任何人希望這樣做;您應該能夠使用http://glazman.org/JSCSSP/解析CSS,然後根據需要使用DOMParser()和IE(對於XHTML)或使用innerHTML,this htmlparserany other HTML Parsers

順便說一句,我知道<style>在電子郵件中起作用,因爲我的插件Color Source注入它們以在電子郵件中獲得語法突出顯示,但我想你只是說這樣做對你來說更復雜。

+0

我喜歡你的答案,當我有時間時可能最終會做這樣的事情。 Javascript和