The code below does almost of the job. There is only one problem. If some path is 
absolute to the server /aaa/bbb/ the path get
file://aaa// but I think no problems with apache.

HTH

Andrey Hristov
IcyGEN Corporation
http://www.icygen.com
BALANCED SOLUTIONS

<pre>
<?php

$the_html = 'I need to replace all relative links in an html
doc with absolute links on the fly weather it
be an image link,
<img src=\'/_imgs/imgs_nav/transPix.gif\' width=\'10\' height=\'13\'>
<img src=\'../_imgs/imgs_nav/transPix.gif\' width=\'10\' height=\'13\'>

a URL,
<a href="/dealers/index.asp">

a link to an external JS file
<script language=\'JavaScript\' src=\'/_js/scripts.js\'
type=\'text/javascript\'></script>

or external css file.
<link rel="stylesheet" href="../_css/style.css" type="text/css">';
echo htmlspecialchars($the_html);
$ABSOLUTE_HREF = 'http://someserver.com/somedir/somedir2/';

$count = preg_match_all('~(src=|href=)("|\')(?!href://)(.*?)(\2)~',$the_html,$matches);
var_dump($matches);
$the_html = 
preg_replace('~(src=|href=)("|\')(?!href://)(.*?)(\2)~','\1\2'.$ABSOLUTE_HREF.'\3\4',$the_html);
echo htmlspecialchars($the_html);

?>
----- Original Message -----
From: "Brian V Bonini" <[EMAIL PROTECTED]>
To: "PHP Lists" <[EMAIL PROTECTED]>
Sent: Monday, December 10, 2001 4:21 PM
Subject: [PHP] RegEx gurus help...


> I need to replace all relative links in an html
> doc with absolute links on the fly weather it
> be an image link,
> <img src='/_imgs/imgs_nav/transPix.gif' width='10' height='13'>
> <img src='../_imgs/imgs_nav/transPix.gif' width='10' height='13'>
>
> a URL,
> <a href="/dealers/index.asp">
>
> a link to an external JS file
> <script language='JavaScript' src='/_js/scripts.js'
> type='text/javascript'></script>
>
> or external css file.
> <link rel="stylesheet" href="../_css/style.css" type="text/css">
>
> Anyone done this before and have a prefab regex laying
> around they want to share?
>
> -Brian
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> To contact the list administrators, e-mail: [EMAIL PROTECTED]
>
>


-- 
PHP General Mailing List (http://www.php.net/)
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