js就是為html而生,比如,我想驗證
那麼用jquery的話,alert($('#demo_div').attr('display'))就行,但是如果我用伺服器端的php如何抓取一個網頁中DOM元素,然後結合css來分析它的css屬性呢?有沒有已經寫好的函數or類?
回複內容:
js就是為html而生,比如,我想驗證
那麼用jquery的話,alert($('#demo_div').attr('display'))就行,但是如果我用伺服器端的php如何抓取一個網頁中DOM元素,然後結合css來分析它的css屬性呢?有沒有已經寫好的函數or類?
補充3:
請在給題主的問題點“贊”之前,好好閱讀本問題的補充2和評論7樓,想一下是否應該這樣做。
樓主的Y問題本身倒還可以,但題主弄出XY Problem的不良實踐,理應再得到一次教訓。
補充2:
好嘛你個題主!
鬧了半天,一短一長兩個答案,調動3個會員6層樓評論,問你半天你才說出最終要做什麼!!!
幹嘛不早把你的本來目的交代清楚?!
典型的XY Problem——刻舟求劍,問非所求,必須要先麻煩社區半天才能找出來你的目的,真是一點意思也沒有。題主請先閱讀一下這篇文章。
我看了下題主的問題的反響,幾乎所有的問題都是負分,我想題主你這個問題又該找踩了。
你還是好好回去反省下吧,多讀幾遍《提問的智慧》,少給社區留下一些莫名其妙、浪費時間的猜謎遊戲。
補充1:
你也許可以考慮用PHP調用一個只支援HTML+CSS(不帶js)的渲染核心,然後把渲染結果拿來利用。這樣至少就可以:
- 適當容忍HTML中的微小問題,得到一個標準的樹形DOM結構
- 準確處理CSS覆蓋關係,正確得到特定元素的任意CSS屬性
如果想做斬草除根的實現,就不要想著只在PHP的架構內做得到這個事情。
完全實現你這個需求,單純依賴任何PHP庫,死也做不到。任何。死也不行。沒疑問。
因為一個簡單的原理:如果只分析網頁的HTML字串文本,我們完全無法判斷demo_div最後的某個屬性,會處在一個什麼狀態上。
例如你的例子裡,display屬性是用額外的