2010-04-05 46 views
0

我想寫一個函數(理想情況下在PHP中),我可以輸入一個url並返回一個字符串對應的超文本從網頁,這將呈現在瀏覽器(任何標準的瀏覽器罰款)最大。如何確定網頁上的文字會呈現最大的文字?

使用DOM獲取網頁和標記事物非常簡單,但計算渲染文本標記的最終大小的最佳方法是什麼 - 您如何計算包含px,em,%等不同字體大小的CSS 。

在我走之前,任何人都做過類似的事情並重新發明輪子?

在此先感謝。

回答

1

我不認爲PHP可以測量呈現的HTML元素,因爲這些元素不是呈現在服務器上,而是在客戶端,PHP是服務器端。

我已經使用jQuery和outerHeight()和outerWidth函數對呈現的HTML元素進行了測量。

http://www.ccsnetwork.eu看到源> lib.js> correctHeightMainAndSidebar()

+0

這是一個微型蜘蛛的一部分,因此客戶端JS是不理想的。我打算做的是抓取引用或包含在網頁中的css,並將每個標籤與其屬性配對,然後計算高度。然而,這是一個相當的工作,因爲你基本上必須重新創建級聯式樣規則邏輯(即使大多數瀏覽器版本似乎都無法在大多數情況下正常使用)。我希望有一些我可以使用的開源渲染器改爲征服者。 – TMG 2010-04-05 22:43:31

+0

現在的問題是,沒有一個人人都嚴格遵守的標準。但是,因爲您只想測量字體大小,所以我會嘗試Webkit(http://webkit.org/),Safari和Chrome使用Webkit(http://webkit.org/)等等。 Webkit使用C++編寫,您可以根據需要運行serverside。 我嚴重懷疑是否有用PHP編寫的We-page渲染引擎。 – 2010-04-06 14:06:01