Witam!

Bez zbędnych opisów. Problem wygląda tak:

Mam linka, powiedzmy <a href="strona.php">Strona</a> i chcę go zamienić na <a href="http://domena.pl/strona.php">Strona</a>.
Link znajduje się w stringu ze źródłem strony, czyli mam cały HTML.

Wygląda to jakoś tak:

  1. <?php
  2. $url = 'http://domena.pl';
  3.  
  4. $html = '<html><head><title>Strona</title></head>
  5. <body>Jakiśtekst <a href="strona.php">Strona</a> Jakiśtekst
  6. <a href="strona2.php">Strona 2</a> Jakiśteskt
  7. </body></html>';
  8. ?>

a dalej:
  1. <?php
  2. znajdź wszystkie linki i
  3. jeśli nie 'href="http://[.*]"' to wstaw 'http://' 'href="{tutaj}[.*]"'
  4. ?>


Macie jakieś pomysły?

Pozdrawiam,
Leo van Damon

P.S.: Jeśli coś niejasne, to przepraszam...

EDIT:

Pomógł kolega z innego forum.

Wstawiam kod, gdyby ktoś szukał.

  1. <?php
  2. // Domena
  3. $domena = 'http://domena.pl/';
  4.  
  5. // Usunięcie ukośnika na końcu (jeśli jest)
  6. if(strrpos($domena,'/')>6) $domena = substr($domena, 0, -1);
  7. echo $domena.'<br />';
  8.  
  9. // Kod HTML
  10. $html = '<body>
  11. <a href="http://domena.pl/strona.php">Strona</a>
  12. </body>';
  13.  
  14. // Zamiana linków
  15. $html = preg_replace("#href=\"(.*?)\"#si",'href="'.$domena.'/1"',$html);
  16.  
  17. // Usunięcie błędnej zamiany
  18. $html = str_replace($domena.'/'.$domena,$domena,$html);
  19.  
  20. // Wyświetlenie HTML-a
  21. echo $html;
  22. ?>