Connecting Tech Pros Worldwide Forums | Help | Site Map

replace all _self with _blank

bboldi
Guest
 
Posts: n/a
#1: Mar 2 '06
Hi!

I have a string containing a HMTL page.I need to insert target="_blank"
where targer attribute is not present within <a... TAG, and replace
other target attributes - example target="_self" - to _blank. Can
anyone help me? Thanx in advance, and sorry for my english.


Marcin Dobrucki
Guest
 
Posts: n/a
#2: Mar 2 '06

re: replace all _self with _blank


bboldi wrote:[color=blue]
> Hi!
>
> I have a string containing a HMTL page.I need to insert target="_blank"
> where targer attribute is not present within <a... TAG, and replace
> other target attributes - example target="_self" - to _blank. Can
> anyone help me? Thanx in advance, and sorry for my english.[/color]

how about:
http://www.php.net/manual/en/function.str-replace.php
http://php.net/preg_replace
bboldi
Guest
 
Posts: n/a
#3: Mar 2 '06

re: replace all _self with _blank


Ok. I know about these functions, the problem is: i need to determine
if target attribute is alredy defined, if not, i need to insert one, if
yes, then replace the variable of target attribute i have problen with
"finding if target att. is defined and inserting one if not" part. any
idea? thanx in advance.

Marcin Dobrucki
Guest
 
Posts: n/a
#4: Mar 6 '06

re: replace all _self with _blank


bboldi wrote:[color=blue]
> Ok. I know about these functions, the problem is: i need to determine
> if target attribute is alredy defined, if not, i need to insert one, if
> yes, then replace the variable of target attribute i have problen with
> "finding if target att. is defined and inserting one if not" part. any
> idea? thanx in advance.[/color]

I hope this is not some homework...

if (preg_match("target", $url)) {
// search and replace
}
else {
// crude but effective, url in form:
// <a href="someplace.html" option="value">link text</a>
$url_array = explode('>', $url);
$new_url = $url_array[0].' target="your_target">'.$url_array[1] . '>';
}

To do a bit more work, search for the position of the first '>', and
then insert a string into the url (eg. with stripos() and
substr_replace()) just before that place.

Of if you really want to put effort in, tokenize the whole url, and
then parse the arguments as you see fit.

/Marcin
Closed Thread