我正在研究一個小程序,它允許用戶輸入新聞文章或其他網頁(日文)的URL,並在我的頁面的iFrame中查看該頁面的內容。這個想法是,一旦內容被加載到頁面中,用戶可以使用它們的光標來突出顯示單詞,該單詞將所選文本存儲在數組中(用於翻譯/添加到術語的個人詞典),並將文本包圍在紅色框中(div)根據我的域上定義的樣式表。爲此,我使用cURL來檢索外部頁面的HTML並將其轉儲到iFrame的源代碼中。從cURL請求中正確格式化HTML
但是,我不斷遇到檢索到的HTML的主要格式問題。最大的問題是保留樣式表,爲了解決這個問題,我使用DOMDocument將標籤添加到檢索到的HTML部分。這適用於某些網頁/網址,但許多其他網頁的輸出HTML仍存在很多樣式問題。例如,div層相互碰撞,對齊關閉,背景丟失。由於我需要將輸出HTML嵌入到一個新的函數中,以便使嵌入式內容中的文本選擇能夠傳遞的onClick javascript函數正常工作,這意味着所得到的源代碼看起來像這樣:
<div onclick="parent.selectionFunction()" id ="studyContentn">
<!-- HTML of output from cURL, including doctype declarations and <html>,<head> tags -->
</div>
似乎大部分我所遇到的很多格式問題在很大程度上都是隨意的。我試過使用PHP Tidy清理HTML輸出,但這也只適用於某些頁面,但不適用於其他頁面。我有一個輕微的懷疑,它可能與CDATA聲明在處理DOMDocument時被奇怪地解析,但我不確定。
有沒有一種方法可以保證cURL的HTML輸出在所有情況下都能正確和忠實地呈現?或者,有沒有更好的方法去做這件事?我嘗試了很多不同的方法來解決這個問題,並且每個方法都更接近解決方案,但也帶來了自己的新問題。
謝謝 - 讓我知道我是否可以澄清任何事情。