Welcome to WebmasterWorld Guest from 23.20.241.155

Forum Moderators: coopster & jatar k

Message Too Old, No Replies

PHP preg_replace

modifying urlsís

     
12:38 am on Feb 27, 2005 (gmt 0)

10+ Year Member



Never been able to master regular expressions but some how mange, but not with this one.

Need the regular expression for modifying hrefs(so not other urls in images etc)

Example change
<a href=http://www.site1.com> to <a href="www.site2.com?q=http://www.site1.com">

Need it to work with urls that use relative paths so change
<a href="/"> to <a href="www.site2.com?q=/">

Be nice if it worked with all possible urls
<a href="http://www.site1.com">
< a href=Ďhttp://www.site1.comí>
<a href=http://site1.com>
Etc

Iíve found a few similar examples and near working bits of code but i rarely use preg_replace and donít know enough to get them to work.

Any help with this will be greatly appreciated thanks.

1:00 am on Feb 27, 2005 (gmt 0)

WebmasterWorld Senior Member ogletree is a WebmasterWorld Top Contributor of All Time 10+ Year Member



Maybe you can use parse_url to help with that.
1:26 am on Feb 27, 2005 (gmt 0)

10+ Year Member



Thanks ogletree

Iím being a bit thick, so i better stick with the preg_replace for now.

Not sure how i would use parse_url to achieve what i want.

I want to parse an entire html file and replace all the hrefís with another url, using the old url/relative path as a parameter.

4:47 am on Feb 27, 2005 (gmt 0)

10+ Year Member



You can try the following. No effort is made to verify the original url string is a valid url.

$content = <<<EOQ

<a href="http://www.google.com"></a>
<a href=http://www.ala.com></a>

EOQ;

$content = preg_replace('#(<a[^>]+href="?)([^>" ]+)("?[^>]*>)#is','\\1http://www.site2.com?q=\\2\\3', $content);
print $content;

[edited by: eelixduppy at 12:37 pm (utc) on Mar. 20, 2008]
[edit reason] disabled smileys [/edit]

10:01 am on Feb 27, 2005 (gmt 0)

10+ Year Member



Thanks deizu that's perfect!
:)
11:59 pm on Feb 27, 2005 (gmt 0)

WebmasterWorld Administrator coopster is a WebmasterWorld Top Contributor of All Time 10+ Year Member



and welcome to WebmasterWorld, deizu.
 

Featured Threads

Hot Threads This Week

Hot Threads This Month