This should do (but ofcourse you might want to play a bit with it)

$mem =
<A HREF="";>something</a> is fine
<A HREF="";>something</a> is wrong
<A HREF="";>something</a> is fine<br>
<a href="";>lgwm</a><br>
<a href="";

function handler($theTag, $theDomain)
  if (!strstr($theDomain, ""))
    $theTag = strstr($theTag, " ");
    $theTag = "<a target='_blank'$theTag";
  return stripslashes($theTag);

$re = "/<\s*a\s*href\s*=\s*(['\"])(.+?)\\1[^>]*>/eis";
$t = preg_replace($re, "handler('\\0', '\\2')" ,$mem);
echo $t;

//greetings R&Ze!

"Justin French" <[EMAIL PROTECTED]> wrote in message
> hi all,
> I have some user-supplied text on a content driven site.
> I am allowing <A> tags inside the main text, BUT I want
> any links to external sites (not on the chosen domain)
> to include a ' TARGET="_new" ' element.
> So,
> <A HREF="";>something</a> is fine
> <A HREF="";>something</a> is wrong
> <A HREF="";
> TARGET="_new">something</a> is fine
> And of course there are all the variants with and without
> the www, and with and without sub directories and pages.
> I'[d also like to make sure the dopey people have put a
> close tag in.
> I've got a few ideas on how it might be done, but I need
> to do it the right way, avoiding slight human errors etc.
> Has anyone got something written, or can point me in the
> right direction?
> Justin French

PHP General Mailing List (
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to