[問題] 濾掉除了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