Re: RegEx gurus help...
| From: | Andrey Hristov | Date: | Mon, 10 Dec 2001 14:34:46 +0000 |
| Subject: | Re: RegEx gurus help... | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-77413@lists.php.net to get a copy of this message | ||
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" <b-bonini@home.com>
To: "PHP Lists" <php-general@lists.php.net>
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: php-general-unsubscribe@lists.php.net
> For additional commands, e-mail: php-general-help@lists.php.net
> To contact the list administrators, e-mail: php-list-admin@lists.php.net
>
>