Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] pliki i sprawdzanie wyrażeń a także google
Forum PHP.pl > Forum > Przedszkole
lamcpp
Mam plik *.txt w którym umieszczone są linki, każdy w nowej linii
1) W jaki sposób sprawdzić czy początek linku rozpoczyna się od http:// i jeśli się nie rozpoczyna to dodać to http://
2) Czy da się w jakiś zautomatyzowany sposób zapisać listę pierwszych 100 wyników google dla danego słowa kluczowego (chodzi mi o same linki), bo kopiuj wklej jest trooochę czasochłonne
prowseed
1. generalnie w takim troche pseudokodzie, bo to chyba dzialac nie bedzie; bedziesz wiedzial o co chodzi pewnie:
  1. <?php
  2. $file = file("lista.txt");
  3. $fo = fopen("lista.txt","w+");
  4.  
  5. foreach ($file as $line) {
  6. if (substr("$line", 0, 7) != "http://"){
  7. $line = "http://" . $line;
  8. }
  9. }
  10.  
  11. fwrite($fo, print_r($file, true));
  12. fclose($fo);
  13. ?>


2. pewnie sie da, ale to duzo wycinania bedzie. Mozesz sobie skorzystac z funkcji file albo file_get_contents + explode. No a pozniej to najpewniej wyrazenia regularne albo wylawianie wszystkiego co sie zaczyna na "http://" chociaz to moze byc nie pewne. Do biegania po stronach uzyj curla (albo wyciagaj dane oddzielnie dla kazdej strony korzystajac z offsetu paginacji, to jest ?start=xx), chociaz kiedys byla taka opcja by paginowac wyniki co 100 a nie co 10 czy 20 jak to jest naturalnie, ale nie wiem jak to sie robilo/nie pamietam.
abort
na pytanie pierwsze: if ( ! preg_match ( '#^http://#', $linia)).
Ewentualnie możesz kombinować także z funkcją strpos (wykonuje się szybciej niż preg_match)

Co do drugiego pytania: podkręć jasność wypowiedzi...
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.