我打算处理每个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