1
假設我想實現基於頁面元素和內容結構的自動字體請求優化,我將如何使用PHP DomDocument獲取所需的信息?如何使用PHP DomDocument獲取元素和內容結構?
簡而言之的問題可以用兩個結構的例子進行說明:
實施例1
<p><em>All italic paragraph text</em></p>
實施例2
<p>Normal paragraph text <em>and some italic text</em></p>
的元件結構是在這兩個實施例中的相同,即一個帶有<em>
子元素的段落元素。然而,內容結構不同:所有文字實例1中斜體,但例如在正常和斜體2.
我目前用於獲取元素結構做法是這樣的:
$dom = new DOMDocument;
foreach ($dom->getElementsByTagName('p') as $elm) {
$elms[] = $dom->saveHTML($elm);
}
然後,我會遍歷元素並使用相同的方法來查找嵌套元素,如<em>
和<strong>
。
但我需要一個很好的內容結構方法。我想我可以用<em>
和</em>
分割文本,並查看結果列表中的第一個和最後一個元素是否具有長度,但這讓我想起使用正則表達式進行自定義HTML搜索,這似乎是這裏最不推薦的方法。
但在這種情況下,我的替代方案是什麼?
非常感謝您!這似乎正是我正在尋找的。即使它不是DomDocument,它仍然是原生的php,這是我真正的追求。謝謝。 –