[问题] 滤掉除了img其他的html tag

楼主: knives   2012-05-25 16:24:27
我想要滤掉 html 里面除了 img
其他像<iframe>、<br>、.... 的tag全部滤掉
我现在是写 <[^<]+*> 可以滤掉 所有的html
但是我要怎么滤掉特定的tag
一直想不出来该怎么写
谢谢帮忙
<[^<][^(img)]*>
我写成上面这样,会连iframe 也抓到
作者: mars90226 (火星人)   2012-05-25 18:16:00
<(?!\/?img)[^>]+>,(?!pattern)是正向否定预查
作者: qwertmn (抽筋)   2012-05-25 19:16:00
<[^<]img\s+.?\/> 感觉你搞错[]的用法了喔~上面是抓img tag的方法~抓非img的1f有了~
作者: blackkaku (black)   2012-05-25 21:12:00
<[^<]img\s+.?\/>,这抓得到东西吗??
作者: l10nel (小失)   2012-05-26 03:55:00
这不容易单独用regexp解决,即使negative lookahead也会误判而滤掉过多,正确做法必须至少能区分attribute的名/值。抱歉,请忽略以上两行,我一时以为img是attribute name。
作者: qwertmn (抽筋)   2012-05-26 14:28:00
冏rz 我脑残了打错" <img\s+.*?\/> 这才能抓img tag..
作者: PurpleCrow (17868)   2012-05-28 10:45:00
我老是看不懂题目在问什么 冏

Links booklink

Contact Us: admin [ a t ] ucptt.com