Xeoncross Posted December 4, 2008 Share Posted December 4, 2008 I am trying to match HTML tags that aren't SINGLE tags. However, my regex is failing on "a" tags because of the http:// part. (\<([a-z]+)\b[^\/|\>]*\>) or (\<([a-z]+)\b[^\>]*(?!\/\>)\>) The first regex matches the < test > and < a hr=site > thing fine - but it doesn't catch the second link. <this> is a </tag> about something like <br /> or <a href="site.com">site.com</a> <img/> <a href="http://site.com">Google.com</a> <br /> <meta tag="" /> <input type="text" /> The whole goal is that I am scanning for open tags, then closing tags. If there are more open tags than closing tags I will know I need to close those tags. Link to comment https://forums.phpfreaks.com/topic/135537-caching-only-closing-html-tags/ Share on other sites More sharing options...
effigy Posted December 4, 2008 Share Posted December 4, 2008 I am trying to match HTML tags that aren't SINGLE tags. Pairs? <pre> <?php $data = <<<DATA <this> is a </tag> about something like <br /> or <a href="site.com">site.com</a> <img/> <a href="http://site.com">Google.com</a> <br /> <meta tag="" /> <input type="text" /> DATA; preg_match_all('%<(\w+)[^>]*>.*?</\1>%is', $data, $matches); print_r($matches); ?> </pre> Link to comment https://forums.phpfreaks.com/topic/135537-caching-only-closing-html-tags/#findComment-706124 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.