爲了練習我的技能即時編寫一個html解析器。我想到的想法:是我從頭開始創建html分析器的想法嗎?
- 定義我想通過正則表達式來標記化。
- 接受一些html作爲字符串。
- 通過html字符串循環。
- 將有關令牌的信息(如內容和位置)保存爲對象。
- 如果令牌具有另一個令牌,那麼該令牌是父令牌的子對象。
完成對象圖。
創建適當的獲取者和設置者。
你認爲這有意義嗎?
爲了練習我的技能即時編寫一個html解析器。我想到的想法:是我從頭開始創建html分析器的想法嗎?
完成對象圖。
創建適當的獲取者和設置者。
你認爲這有意義嗎?
正則表達式不適合用於沉重的HTML解析,例如: regular expressions are a tool that is insufficiently sophisticated to understand the constructs employed by HTML。
最好的辦法是使用state machine或tokeniser爲基礎的實現。
您還可以閱讀有關解析HTML5 specification中HTML5的更多信息。
應該閱讀着名的答案[你不能解析HTML與正則表達式](http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454# 1732454) – charlietfl
HTML規範中的[HTML解析器的描述](https://html.spec.whatwg.org/multipage/syntax.html#parsing)是基於字符的並使用狀態機,所以我會從看着這個靈感。 – Blender