Avatar billede sjh Nybegynder
27. oktober 2004 - 23:41 Der er 12 kommentarer og
1 løsning

fra stig til server stig

Hvordan kan jeg få billederne med når jeg henter en side??
altså bare lave stigen om så den henter billederne fra sin egen server.


fx. google. Her passer stigen jo ikke til billederne..

<?php
  function show_url($strUrl) {
    $strHtml = @implode("", file($strUrl));
   
    return $strHtml;
  }
?>
<html>
  <head>
    <title>Vis dokument</title>
  </head>
  <body>
    <?php echo show_url("http://www.google.dk/"); ?>
  </body>
</html>
Avatar billede bojo Nybegynder
28. oktober 2004 - 06:58 #1
for googles vedkomne

<?php
  function show_url($strUrl) {
    $strHtml = @implode("", file($strUrl));
    $strHtml = str_replace("images/", "http://www.google.dk/images/", $strHtml);
    return $strHtml;
  }
?>
<html>
  <head>
    <title>Vis dokument</title>
  </head>
  <body>
    <?php echo show_url("http://www.google.dk/"); ?>
  </body>
</html>
Avatar billede sjh Nybegynder
28. oktober 2004 - 07:54 #2
Jo.. men nu vare det jo at den selv skullle finde ud af hvad der skulle stå..

jeg fandt en stump kode her på exp.. men kan ikke få den til at virke helt..

$strHtml = eregi_replace(" src=(\"|\')?(/)?(.{1,})(\"|\')?>", " src=\"$strUrl\\3>", $strHtml);
Avatar billede bojo Nybegynder
28. oktober 2004 - 10:10 #3
<?php
  // dette virker ( hos google i hvertfald, jeg vil meget gerne rettes vedr. den preg da den drillede mig af h* til
  function show_url($strUrl) {
    $strHtml = file_get_contents($strUrl);
    $p1 = "(<img src=[\"|']*)"; // <imf src= 0 eller flere " eller '
    $p2 = "([^\"'].+)";        // filnavnet
    $p3 = "(\s.*)";            // indtil  "space tegn" efterfulgt af 0 eller flere hvad som helst

    $r1 = "\$1";                // erstat med det den fandt
    $r2 = $strUrl."\$2";        // put $strUrl foran filnavnet
    $r3 = "\$3";                // erstat med det den fandt

    $p = "/".$p1.$p2.$p3."/iU";  // smæk skidtet sammen og gør det case i-ndifferant og U-grådigt
    $r = $r1.$r2.$r3;
    $strHtml = preg_replace( $p, $r, $strHtml );
    return $strHtml;
  }
?>
<html>
  <head>
    <title>Vis dokument</title>
  </head>
  <body>
    <?php echo show_url("http://www.google.dk/"); ?>
  </body>
</html>
Avatar billede sjh Nybegynder
28. oktober 2004 - 11:00 #4
bojo > det ser godt ud.. men det virker bare ikke hvis url er der i forvejn..
prøv fx. med:
http://hjem.get2net.dk/
Avatar billede bojo Nybegynder
28. oktober 2004 - 11:55 #5
$p2 = "([^\"'".$strUrl."].+)";        // filnavnet
Avatar billede sjh Nybegynder
28. oktober 2004 - 12:52 #6
jo.. men nu virker google altså ikke :(
Avatar billede bojo Nybegynder
28. oktober 2004 - 13:59 #7
jooo og her med begge på en gang

<?php
  // dette virker ( hos google i hvertfald, jeg vil meget gerne rettes vedr. den preg da den drillede mig af h* til
  function show_url($strUrl) {
    $strHtml = file_get_contents($strUrl);
    $p1 = "(<img src=[\"|']*)"; // <imf src= 0 eller flere " eller '
    $p2 = "([^\"'".$strUrl."].+)";        // filnavnet
    $p3 = "(\s.*)";            // indtil  "space tegn" efterfulgt af 0 eller flere hvad som helst

    $r1 = "\$1";                // erstat med det den fandt
    $r2 = $strUrl."\$2";        // put $strUrl foran filnavnet
    $r3 = "\$3";                // erstat med det den fandt

    $p = "#".$p1.$p2.$p3."#iU";  // smæk skidtet sammen og gør det case i-ndifferant og U-grådigt
    $r = $r1.$r2.$r3;
    $strHtml = preg_replace( $p, $r, $strHtml );
    $strHtml = str_replace( $strUrl.$strUrl , $strUrl, $strHtml );

    return $strHtml;
  }
?>
<html>
  <head>
    <title>Vis dokument</title>
  </head>
  <body>
    <?php
    echo show_url("http://www.google.dk/");
    echo show_url("http://hjem.get2net.dk/");
    ?>
  </body>
</html>
Avatar billede sjh Nybegynder
28. oktober 2004 - 15:05 #8
Jeg har ændret $p1 så den også kan ta.. script med.. men det virker altså ikke helt..

$p1 = "(src=[\"|']*)";

prøv at teste med..

<img src="navn.jpg">
<img src="/navn.jpg">
<img src="../navn.jpg">
<img src="/../navn.jpg">
<img src="/../dir/navn.jpg">
<img src="http://server.dk/dir/navn.jpg">

<script type="text/javascript" src="navn.js">
<script type="text/javascript" src="/navn.js">
<script type="text/javascript" src="../navn.js">
<script type="text/javascript" src="/../navn.js">
<script type="text/javascript" src="/../dir/navn.js">
<script type="text/javascript" src="http://server.dk/dir/navn.js">
Avatar billede bojo Nybegynder
28. oktober 2004 - 15:27 #9
hmm - skal du ha lavet tingene, eller bare hjælpes igang :-)

kom til at tænke på om ikke dette var lettere

<?php
function show_url($strUrl) {
    $strHtml = "<BASE href=\"".$strUrl."\">" . file_get_contents($strUrl) . "</BASE>";
    return $strHtml;
  }
?>
<html>
  <head>
    <title>Vis dokument</title>
  </head>
  <body>
<?php
    echo show_url("http://www.google.dk/");
    echo show_url("http://hjem.get2net.dk/");
?>
  </body>
</html>
Avatar billede sjh Nybegynder
28. oktober 2004 - 15:40 #10
Jo det virker jo.. så det kan vel være det samme.. ;-)

Smider du lige et svar.. så er der point..
Avatar billede bojo Nybegynder
28. oktober 2004 - 15:47 #11
ok
Avatar billede sjh Nybegynder
28. oktober 2004 - 15:49 #12
mange tak for hjælpen :D
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester