Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Automatyczne Linkowanie
Forum PHP.pl > Forum > PHP
Malukaz
Załóżmy, że kopiuje żywcem linki z innej strony, które mają postać "/folder/abc/babcia.gif". I tych linków jest około 100, nie chcąc się bawić przy każdym w dodawanie na początku "http://abc.pl" czy istnieje możliwość by automatycznie to dobierał ?
wookieb
Ale kto dobierał? Jak dobierał? Murzyn? naucz go tego to bedzie umiał.
A zupełniej serio to wyjaśnij lepiej sprawę.
Malukaz
mam taką sprawe, żę za pomocą php wyciąłem parenascie linijek kodu z innej strony i są tam obrazki, które nie mają ogólnego odnosnika do http tylko są w wersji skróconej "/folder/babcia/obrazek.gif" chodzi mi oto czy jest jakaś możliwość, że po kliknięciu w ten link komenda automatycznie doda strone abc.pl i będzie pobierał obrazek z abc.pl/folder/babcia/obrazek.gif
wookieb
Do obrazków da się.
Rewritem ale zły sposób.
Najlepiej poprostu wyszukac wyrażeniem regularnym te obrazki i dopisać do nich http://abc.pl
http://php.net/preg_replace
O wyrażeniach regularnych znajdzieszw googlach.

Podpowiedź
Kod
<img src="(.*?)" \/?>
ikssde
Te adresy do obrazków masz w tabeli, czy jak ? Napisz jak wyglądają dane wejściowe.

Jeśli w tabeli, to wystarczy

  1. <?php
  2. $tabela = array('/img/costam/blbal.jpg', '/img/sdas/dsa.jpg', '/img/sdas/dsa.jpg')
  3.  
  4. foreach( $tabela as $key => $value )
  5. {
  6.           $value = 'www.abc.pl'.$value;
  7. }
  8. ?>
Malukaz
http://expertit.nazwa.pl/Lukasz2/index3.php <- chodzi o to miejsce tu nie wyswietla mi obrazkow strona jest wycięta z innej za pomocą kodu
  1. <?php
  2.  
  3. $plik=file("http://www.comarch.pl/pl/industries/smb/offer/produkty/cdn_optima/aktualne_wersje/");
  4.  
  5. for($x<370; $x<371; $x++)
  6. {
  7.  echo $plik[$x];
  8.  }
  9. ?>

i mi obrazków nie wyswietla
osl
zrób tak jak pisze wookieb - wyrażenia regularne, poprzedzanie znalezionego ciągu przez "http://www.comarch.pl/"...
na googlach tego pełno.
ikssde
Po pierwsze błąd w pętli, a po drugie to tak Ci nie wyświetli smile.gif Teraz wiem o co Ci chodzi.
Musisz to zrobić tak jak kolega zasugerował, czyli przy użyciu preg_replace.

  1. <?php
  2. $input = file_get_contents("http://www.comarch.pl/pl/industries/smb/offer/produkty/cdn_optima/aktualne_wersje/");
  3. $link = 'http://www.comarch.pl';
  4.  
  5. preg_replace('#<img src="(.*?)"/>#si', '<img src="'.$link.'1"/>', $input);
  6. preg_replace('#<link rel="stylesheet" type="text/css" href="(.*?)" />#si', '<link rel="stylesheet" type="text/css" href="'.$link.'1" />', $input);
  7. preg_replace('#<script type="text/javascript" src="(.*?)"></script>#si', '<script type="text/javascript" src="'.$link.'1"></script>', $input);
  8. ?>


@edit

Musisz po kombinować, bo tam są obrazki z nadanymi klasami, stylami, itp smile.gif
ShadowD
A ja bym po prostu dodał odpowiednie base i tyle, a swoje linki pisał w pełnej formie... haha.gif
Malukaz
Cytat(ShadowD @ 16.04.2009, 16:05:28 ) *
A ja bym po prostu dodał odpowiednie base i tyle, a swoje linki pisał w pełnej formie... haha.gif


i własnie o tą komende mi chodziło dziekuje slicznie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.