Torrodon Posted November 14, 2009 Share Posted November 14, 2009 How to make my regexp to catch the following strings: <A class="classname" href="http://domain/subfolders">some text <BR /> more text</A> <A href="http://domain/subfolders" class=classname>some text <BR /> more text</A> <A href="http://domain/subfolders" class="classname">some text more text</A> but not to catch the following: <A class="classname" href="http://domain/subfolders">some text more text</A>more text</A> to catch the first 3 strings i tried this: '@<a[^>]*classname[^>]*>.+</a>@i' Unfortunately it catches the second one too. I cannot figure it how to replace .+ so <br /> (or any other tag) to pass except </a> tag. Quote Link to comment Share on other sites More sharing options...
cags Posted November 14, 2009 Share Posted November 14, 2009 but not to catch the following: <A class="classname" href="http://domain/subfolders">some text more text</A>more text</A> What do you mean by "not to catch the following", do you not wish the "more text </a>" part to be captured? Also you do realise that isn't valid HTML anyway?! Simply making the last part of your pattern lazy will stop the "more text</A>" part matching. '@<a[^>]*classname[^>]*>.+?</a>@i' Quote Link to comment Share on other sites More sharing options...
Torrodon Posted November 15, 2009 Author Share Posted November 15, 2009 Thank you that was exactly what i needed Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.