Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]linki w nowym oknie
Forum PHP.pl > Forum > Przedszkole
yoghyt
To jest mój pierwszy post na tym forum więc wypadało by się przywitać więc: siema.
Na stronie mam takie jakby rss( z money.pl)Wstawiem to na stronę za pomocą readfile(readfile('htp://money.pl/costam.html')winksmiley.jpg. Są tam linki, które nie mają target="_blank", a ja chcę, żeby były w nowym oknie otwierane. Słyszałem, że to za pomocą str_replace lub preg_replace, ale nie rozumiem ich więc proszę o wyjaśnienie jak to zrobić ale na poziomie podstawowym.
snipe
$plik = readfile('twoj plik');
str_replace('<a', '<a target="_blank"', $plik);

Powinno zadzialac winksmiley.jpg
yoghyt
nie bardzo to działa
Kod
<? $plik = readfile('http://www.money.pl/d/program_partnerski/wiadomosci_banki.html');
str_replace('<a', '<a target="_blank"', $plik) ?>

Nie podmienia <a na <a target="_blank"
qwaq
Sprubuj tak:
  1. <?
  2. //przypisanie zmiennej $plik zawartości strony www
  3. $plik = file('http://www.money.pl/d/program_partnerski/wiadomosci_banki.html');
  4. //liczenie ilosci lini w stronie
  5. $ile=count($plik);
  6. //petla wypisujaca poszczegolne zapamietane linie strony
  7. for($a=0;$a<$ile;$a++)
  8. {
  9. //zamiana wszystkich <a na <a target="_blank" w danej lini
  10. $qqq=explode("<a",$plik[$a]);
  11. $plik[$a]=implode("<a target="_blank"",$qqq);
  12. //wypisanie danej lini na ekran
  13. echo $plik[$a];
  14. }
  15. ?>


Wiem, że może zastosowanie explode() i implode() do zamiany jest troche łopatologiczne ale działa.

Uwaga dot. pętli:
najpierw explode() rozdziela daną linię jednocześnie usówając "<a "
potem implode() łączę spowrotem linię wstawiając w miejsca łączenia " <a target="_blank" "
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.