reg.ex. something like (not tested): "<a[^>]*>" this would give you the entire anchor tag, then go from there?
or what about using the XML parsing routines, get it to find the anchors and give you it's attributes, then go from there? Martin -----Original Message----- From: Justin French [mailto:[EMAIL PROTECTED]] Sent: Wednesday, February 20, 2002 10:46 AM To: php Subject: [PHP] regexp on user supplied link Hi, I have a website which is based purely on user-added content. The problem with this is that some areas allow users to use links in the text, and it's difficult to ensure that they all have a decent knowledge of attributes such as tartget="_new", etc etc. So, I'd like a script that... 1. looks at $text for any link tags, and for each tag, does the following: 2. throws out everything except the HREF eg: <A HREF="http://www.somesite.com" target="_new">click</a> becomes http://www.somesite.com <A HREF="javascript:something();"> becomes javascript:something(); 3. prefixe the url with <A HREF=" 4. establish if it's an internal or external link: so how do we establish if it's an external link? well it'd be easy if we just say "anything begining with http:// is not relative", but because this content is user-driven, I'd like to be a little safer, and say "anything that begins with http://www.mysite.com OR http://mysite.com" is an external link. 5. if it's an external link, suffix the URL with " TARGET="_new">, or if it's internal, suffix it with "> Anyway, that'd be a great start. From there, I might like to prex each external link to go thru a program called out.php to log affiliate activity, and I might like to retain onmouseover, onclick, onmouseout etc etc properties in the tag, I might like to ensure a session ID is found within each internal link, and stripped from each external link, ensure that the <A> has a matching </A> etc etc, but the above would be a great start. Any help, especially with steps 1, 2 & 4, would be much appreciated. Thanks in advance, Justin French http://indent.com.au http://soundpimps.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php