Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z wycieciem paru lini kodu z innej strony
Forum PHP.pl > Forum > Przedszkole
Malukaz
chodzi mi o to dlaczego przy moim kodzie on łapie jeszcze menu boczne i górne. Kod:
  1. <?php
  2. $plik=file(&#092;"http://www.comarch.pl/pl/industries/smb/offer/produkty/cdn_optima/aktualne_wersje/\");
  3.  
  4. for($x<370; $x<371; $x++)
  5. {
  6.  echo $plik[$x];
  7.  }
  8. ?>


http://expertit.nazwa.pl/Lukasz2/index3.php
chodzi o to zeby tego co jest nad aktualne wersje nie lapalo
Malukaz
Ok sam sobie wkońcu poradziłem, może kiedyś się komuś przyda:
  1. <?php
  2.  
  3. $plik=file("http://www.comarch.pl/pl/industries/smb/offer/produkty/cdn_optima/aktualne_wersje/");
  4.  
  5. for($x=360; $x<=379; $x++)
  6. {
  7.  echo $plik[$x];
  8.  }
  9. ?>


$x=360; - 360 to linia kodu żródłowego, od której zaczynamy wycinek
$x<=379; - linia kodu źródłowego, do której wycina kod

$plik=file("http://www.comarch.pl/pl/industries/smb/offer/produkty/cdn_optima/aktualne_wersje/"); - link do strony którą wycinamy

Pozdrawiam smile.gif
1010
Wystarczy że autor strony dostawi kilka linijek do góry strony i Twój kod **j strzeli.

Dużo lepszym rozwiązaniem są wyrażenia regularne, przeznaczone do takich operacji.
Malukaz
jakiś przykład?

Dlaczemu to mi nie dziala ?
  1. <?
  2.  
  3. $plik=file("http://www.comarch.pl/pl/industries/smb/offer/produkty/cdn_
  4.  
  5. optima/aktualne_wersje");
  6.  
  7.  
  8. $zdanie = substr($plik, 0, strpos($plik, "<!-- column-float -->"));
  9.  
  10. {
  11.  echo $zdanie;
  12.  }
  13.  
  14. ?>


dobra już poprawiłem lekko i dół odcina, ale znowu mam problem z tym jak ustawić początek wyświetlania tak jakby klamerke musze zrobic i mam tylnia czesc a przedniej nie umiem zaznaczyć kod:
  1. <?
  2.  
  3. $plik=file_get_contents("http://www.comarch.pl/pl/industries/smb/offer/produkty/cdn_optima/aktualne_wersje");
  4.  
  5.  
  6. $zdanie = substr($plik, 0, strpos($plik, "<!-- column-one-content -->"));
  7.  
  8. {
  9.  echo $zdanie;
  10.  }
  11.  
  12. ?>


need urs help

<a href="http://expertit.nazwa.pl/Lukasz2/" target="_blank">http://expertit.nazwa.pl/Lukasz2/</a> tu link do strony aby wam zobrazować problem chodzi o to zeby nie bylo loga i górnego menu tylko ten środek od Aktualne Wersje

moze bardziej wyjasnie jeszcze dajmy na to że kod wygląda tak:

<start>
<br>
babcia
<costamcostam>
<jakiestableki>
zonk
<dolne menu>
<koniec>

a ja potrzebuje mieć wycięte wszystko od Babacia do Zonk bez <start> i <br> od góry oraz bez <dolnemnu> i <koniec> na dole



bump.... pilne?
osl
poczytaj o wyrażeniach regularnych tak jak sugerowali koledzy wcześniej.
a jak już chcesz koniecznie na operacjach stringowych, to substr, strpos, strrpos i tak dalej...
musisz się wczytać w kod HTML i znaleźć odpowiednie ciągi od/do których chcesz wszystko wyciąć.

jeszcze inaczej? ładujesz do DOM i przechodzisz przez drzewo...
gotowca raczej nie dostaniesz od nikogo
Malukaz
jacy wy jestescie kochani kto tu o gotowcu mowi, poprostu mowie ze chce tylko poznac jak ma wyglądać komenda która ograniczyła by górę strony... wkońcu nie jestem biegły w php czytałem o wyrażeniach stałych i niebardzo to kumam a to działa tylko tą góre musze odciąć a jak jesteście tacy "PRO" to moze podpowiecie, bo odsylac do poczytania sobie to nawet ja moge ludzi...

p.s. myslisz że nie czytalem o wyrażeniach regularnych ? TYLKO TO K.... nie tak latwo skumać jak sie jest zielonym w php a trzeba cos zrobić dlatego tu napisałem z nadzieją na pomoc choc by ktoś w przybliżeniu pokazal ocb z tymi wyrażeniami regularnymi... na jakims przykładzie... myslisz ze teraz dalej nie proboje czegos sam skleic ale to nie tak latwo jest -.-
osl
daruj sobie docinki.
dostałeś podopowiedzi czego użyć, zamiast się burzyć że "chce tylko poznać komende" może po prostu pomyśleć chwile logicznie.
odpalasz sobie Firebuga i patrzysz na strukture HTMLa. Potrzebujesz zdaje się tylko wyciąć zawartość diva "content-one",
szukasz odpowiedniej frazy i ciach - wyżej pokazałeś fragment z substr, więc powinieneś dać rade. potem szukasz końca tego diva i ciach.

jedną komendą będzie Ci ciężko. dużo łatwiej zapodać kilka linijek, wycinając po trochu.

P.S. pamiętaj, że substr ma kilka parametrów, m.in. offset początku i długość (względnie offset końca) ciągu który chcesz wyłuskać.


EDIT: a nie łatwiej po prostu zapytać/poprosić o wyjaśnienie wyrażeń regularnych niż wołać "ja chce" i pluć jadem naokoło?
Malukaz
ja zadnym jadem nie pluje poprostu drażni mnie to, iż do 10 min odświeżam stronke a tu co chwile tylko odpowiedź "poczytaj sobie o wyrażeniach regularnych".....
trike
przeciez juz o to pytales w innym temacie i tam tez podalem ci rozwiazanie! poczytaj poprzedni temat jeszcze raz.
Malukaz
Cytat(trike @ 17.04.2009, 15:05:01 ) *
przeciez juz o to pytales w innym temacie i tam tez podalem ci rozwiazanie! poczytaj poprzedni temat jeszcze raz.


został skasowany...

  1. <?
  2.  
  3. $plik=file_get_contents("http://www.comarch.pl/pl/industries/smb/offer/produkty/cdn_optima/aktualne_wersje");
  4.  
  5. $br = substr($plik, 0, strpos($plik, "<!-- column-one-content -->"));
  6.  
  7. $zdanie = substr($plik, strpos($plik, "<h1>Aktualne wersje</h1>"), strpos($plik, "<!-- column-one-content -->"));
  8.  
  9. {
  10.  echo $br;
  11.  }
  12.  
  13. ?>

Zmienna zdanie ogranicza plik od góry, zmienna br ogranicza go od dołu teraz jeżeli mógłbym się dowiedzieć jak zrobić tak by obie współgrały i plik był ograniczony obustronnie byłbym serdecznie wdzięczny

  1. <?
  2.  
  3. $plik=file_get_contents("http://www.comarch.pl/pl/industries/smb/offer/produkty/cdn_optima/aktualne_wersje");
  4.  
  5. $br = substr($plik, 0, strpos($plik, "<!-- column-one-content -->"));
  6.  
  7.  
  8. $elo = substr($br, strpos($br, "<h1>Aktualne wersje</h1>"));
  9. {
  10.  echo $elo;
  11.  }
  12.  
  13. ?>


Działa poprawnie, dzięki osl za wspomnienie o Offset, iż ogranicza plik od początku. Przydało się, rozwiązałem problem jakby ktoś potrzebował to smiało można kożystać.
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.