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. Link to comment https://forums.phpfreaks.com/topic/181465-solved-how-to-make-for-sting-instead-for-chars/ 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' Link to comment https://forums.phpfreaks.com/topic/181465-solved-how-to-make-for-sting-instead-for-chars/#findComment-957347 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 Link to comment https://forums.phpfreaks.com/topic/181465-solved-how-to-make-for-sting-instead-for-chars/#findComment-957807 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.