我打算處理每個html文件的img。這些圖片不得包含「noresize」字樣。 我建的正則表達式來獲得IMG:正則表達式,在HTML文件中獲取沒有「noresize」標籤的img
#<img(\s[^>]*)>#ie
這是合作得非常好,但我怎麼也找不到指定「無noresize」。
我想類似的東西:
#<img(\s[^>]*)((?!noresize).)>#ie
但很明顯,這不是我所需要的...
任何想法? 朱利安
我打算處理每個html文件的img。這些圖片不得包含「noresize」字樣。 我建的正則表達式來獲得IMG:正則表達式,在HTML文件中獲取沒有「noresize」標籤的img
#<img(\s[^>]*)>#ie
這是合作得非常好,但我怎麼也找不到指定「無noresize」。
我想類似的東西:
#<img(\s[^>]*)((?!noresize).)>#ie
但很明顯,這不是我所需要的...
任何想法? 朱利安
這是使用XPath,我認爲這將是一個更好的解決你的問題。)
//img[not(@resize*)
如果你已經成功地捕捉你的正則表達式的IMG標籤爲什麼不只是運行一個小像stripos($tag, 'noresize') === false
這樣的每場比賽後處理 - 當然這也會錯誤地檢測像noresize.jpg
這樣的圖像名稱。
或者,只是使用和HTML/DOM解析器像一個正常的人:
像這樣的事情?
'/<img(((?!noresize)[^>])*)>/ie'
不應該使用正則表達式來解析HTML。 – 2010-11-10 19:14:19
您應該使用[DOM解析器](http://stackoverflow.com/questions/3577641/best-methods-to-parse-html/3577662#3577662)來瀏覽HTML,並乾淨地提取您想要的元素。 – 2010-11-10 19:15:08
儘管如此,歡迎來到SO。使用正則表達式解析HTML會引起這種反應。儘管如此,使用DOM解析器確實是最好的想法。 – 2010-11-10 19:16:16